Windows Sockets w MFCWindows Sockets in MFC
Uwaga
MFC obsługuje system Windows Sockets 1, ale nie obsługuje Windows Sockets 2.MFC supports Windows Sockets 1 but does not support Windows Sockets 2. Windows Sockets 2 po raz pierwszy dostarczany z systemem Windows 98 i jest wersją dołączoną do systemu Windows 2000.Windows Sockets 2 first shipped with Windows 98 and is the version included with Windows 2000.
MFC oferuje dwa modele do pisania programów komunikacji sieciowej z Windows Sockets, zawarte w dwóch klasach MFC.MFC supplies two models for writing network communications programs with Windows Sockets, embodied in two MFC classes. W tym artykule opisano te modele oraz dokładniejsze informacje o obsłudze usługi MFC Sockets.This article describes these models and further details MFC sockets support. "Socket" to punkt końcowy komunikacji: obiekt, za pomocą którego aplikacja komunikuje się z innymi aplikacjami Windows Sockets w sieci.A "socket" is an endpoint of communication: an object through which your application communicates with other Windows Sockets applications across a network.
Aby uzyskać informacje dotyczące usługi Windows Sockets, w tym wyjaśnienie koncepcji gniazda, zobacz Windows Sockets: Background.For information on Windows Sockets, including an explanation of the socket concept, see Windows Sockets: Background.
Modele programowania gniazdSockets Programming Models
Dwa modele programowania MFC Windows Sockets są obsługiwane przez następujące klasy:The two MFC Windows Sockets programming models are supported by the following classes:
CAsyncSocket
Ta klasa hermetyzuje interfejs API usługi Windows Sockets.This class encapsulates the Windows Sockets API. CAsyncSocket jest przeznaczony dla programistów, którzy znają programowanie sieci i chcą elastycznie programowania bezpośrednio w interfejsie API usługi Sockets, ale również chcą wygodę funkcji wywołania zwrotnego dla powiadomień o zdarzeniach sieciowych.CAsyncSocket is for programmers who know network programming and want the flexibility of programming directly to the sockets API but also want the convenience of callback functions for notification of network events. Oprócz gniazd opakowaniowych w formie zorientowanej obiektowo do użycia w języku C++, jedyną dodatkową abstrakcją jest konwersja niektórych komunikatów systemu Windows związanych z gniazdem na wywołania zwrotne.Other than packaging sockets in object-oriented form for use in C++, the only additional abstraction this class supplies is converting certain socket-related Windows messages into callbacks. Aby uzyskać więcej informacji, zobacz Windows Sockets: powiadomienia gniazda.For more information, see Windows Sockets: Socket Notifications.
CSocket
Ta klasa, która pochodzi z
CAsyncSocket
, dostarcza abstrakcję wyższego poziomu do pracy z gniazdami za pośrednictwem obiektu MFC CArchive .This class, derived fromCAsyncSocket
, supplies a higher level abstraction for working with sockets through an MFC CArchive object. Używanie gniazd z archiwum znacznie przypomina korzystanie z protokołu serializacji plików MFC.Using a socket with an archive greatly resembles using MFC's file serialization protocol. Ułatwia to użycie niżCAsyncSocket
model.This makes it easier to use than theCAsyncSocket
model. CSocket dziedziczy wiele funkcji składowychCAsyncSocket
, które hermetyzują interfejsy API usługi Windows Sockets. należy użyć niektórych z tych funkcji i ogólnie zrozumieć programowanie gniazd.CSocket inherits many member functions fromCAsyncSocket
that encapsulate Windows Sockets APIs; you will have to use some of these functions and understand sockets programming generally. ProgramCSocket
zarządza jednak wieloma aspektami komunikacji, które trzeba wykonać samodzielnie przy użyciu raw API lub klasyCAsyncSocket
.ButCSocket
manages many aspects of the communication that you would have to do yourself using either the raw API or classCAsyncSocket
. Co najważniejsze,CSocket
zapewnia blokowanie (z przetwarzaniem w tle komunikatów systemu Windows), co jest niezbędne do synchronicznej operacjiCArchive
.Most importantly,CSocket
provides blocking (with background processing of Windows messages), which is essential to the synchronous operation ofCArchive
.
Tworzenie i używanie CSocket
CAsyncSocket
obiektów oraz obiekty są opisane w systemie Windows Sockets: używanie gniazd z archiwami i Windows Sockets: przy użyciu klasy CAsyncSocket.Creating and using CSocket
and CAsyncSocket
objects is described in Windows Sockets: Using Sockets with Archives and Windows Sockets: Using Class CAsyncSocket.
Biblioteki DLL Windows SocketsWindows Sockets DLLs
Systemy operacyjne Microsoft Windows zapewniają biblioteki dołączane dynamicznie (DLL) dla systemu Windows Sockets.The Microsoft Windows operating systems supply the Windows Sockets dynamic-link libraries (DLL). Visual C++ dostarcza odpowiednich plików nagłówkowych i bibliotek oraz specyfikacji Windows Sockets.Visual C++ supplies the appropriate header files and libraries and the Windows Sockets specification.
Aby uzyskać więcej informacji o usłudze Windows Sockets, zobacz:For more information about Windows Sockets, see:
Windows Sockets: gniazda strumieniaWindows Sockets: Stream Sockets
Windows Sockets: gniazda datagramówWindows Sockets: Datagram Sockets
Windows Sockets: używanie gniazd z archiwamiWindows Sockets: Using Sockets with Archives
Windows Sockets: Sekwencja operacjiWindows Sockets: Sequence of Operations
Windows Sockets: jak działają gniazda z archiwamiWindows Sockets: How Sockets with Archives Work
Windows Sockets: Używanie klasy CAsyncSocketWindows Sockets: Using Class CAsyncSocket
Windows Sockets: wyprowadzanie z klas gniazdWindows Sockets: Deriving from Socket Classes
Windows Sockets: powiadomienia dotyczące gniazdWindows Sockets: Socket Notifications
Windows Sockets: porządkowanie bajtówWindows Sockets: Byte Ordering
Windows Sockets: konwertowanie ciągówWindows Sockets: Converting Strings
Windows Sockets: porty i adresy gniazdWindows Sockets: Ports and Socket Addresses