
Klasse CSocket von CAsyncSocket abgeleitet und erbt seine Kapselung der Windows Sockets-API. Ein CSocket -Objekt repräsentiert ein höheres Maß an Abstraktion von der Windows Sockets-API als ein CAsyncSocket -Objekt. CSocket arbeitet mit Klassen CSocketFile und CArchive das Senden und empfangen von Daten zu verwalten.
Ein CSocket -Objekt bietet auch blockieren, die für den synchronen Betrieb von CArchive. Funktionen, wie z. B. empfangenblockieren, Senden, ReceiveFrom, SendTound akzeptieren (alle von CAsyncSocketgeerbt), einen WSAEWOULDBLOCK -Fehler in nicht CSocketzurück. Stattdessen warten diese Funktionen, bis der Vorgang abgeschlossen ist. Darüber hinaus wird der ursprüngliche Aufruf mit der WSAEINTR Fehler beendet, wenn CancelBlockingCall aufgerufen wird, während eine dieser Funktionen blockiert.
Verwenden eines CSocket -Objekt, rufen Sie den Konstruktor, dann rufen Sie Erstellen , um das zugrunde liegende SOCKET -Handle (Typ SOCKET) erstellen. Die Standardparameter der Create erstellt einen Stream-Socket, aber wenn Sie nicht die Buchse mit einem CArchive -Objekt verwenden, können Sie einen Parameter erstellen stattdessen einen Datagrammsocket oder binden an einen bestimmten Port zu einen Serversocket erstellen. Verbinden zu einem Clientsocket mit Connect auf der Clientseite und akzeptieren auf der Serverseite. Dann erstellen Sie ein CSocketFile -Objekt zu, und ordnen Sie diese des CSocket -Objekts im Konstruktor CSocketFile . Erstellen Sie eines CArchive -Objekts für das Senden und eine für den Empfang von Daten (bei Bedarf), dann ordnen Sie diese mit dem CSocketFile -Objekt in der CArchive -Konstruktor. Wenn Kommunikation abgeschlossen sind, zerstören Sie die CArchiveund CSocketFile CSocket Objekte. Der SOCKET -Datentyp wird in dem Artikel beschrieben Windows Sockets: Hintergrund im Visual C++ Programmer's Guide.
For more information, see Windows Sockets in MFC, Windows Sockets: Using Sockets with Archives, Windows Sockets: How Sockets with Archives Work, Windows Sockets: Sequence of Operations, Windows Sockets: Example of Sockets Using Archives, and related articles in Visual C++ Programmer’s Guide. Also see Overview of Windows Sockets 2 and Windows Sockets Programming Considerations in the Win32 SDK documentation.
# include lt;afxsock.h>
Klasse&nmember |nbsp; Basisklasse | Hierarchiediagramm
Beispiel&Nbsp; MFC CHATSRVR-Beispiel
Siehe auch&Nbsp;CAsyncSocket, CSocketFile