Windows-Sockets in MFC
Hinweis
MFC unterstützt Windows Sockets 1, unterstützt jedoch windows Sockets 2 nicht. Windows Sockets 2 wurde erstmals mit Windows 98 ausgeliefert und ist die Version, die in Windows 2000 enthalten ist.
MFC stellt zwei Modelle zum Schreiben von Netzwerkkommunikationsprogrammen mit Windows Sockets bereit, die in zwei MFC-Klassen verkörpert sind. In diesem Artikel werden diese Modelle und weitere Details zur Unterstützung von MFC-Sockets beschrieben. Ein "Socket" ist ein Kommunikationsendpunkt: ein Objekt, über das Ihre Anwendung mit anderen Windows Sockets-Anwendungen über ein Netzwerk kommuniziert.
Informationen zu Windows Sockets, einschließlich einer Erläuterung des Socketkonzepts, finden Sie unter Windows Sockets: Background.
Sockets-Programmiermodelle
Die beiden MFC Windows Sockets-Programmiermodelle werden von den folgenden Klassen unterstützt:
CAsyncSocket
Diese Klasse kapselt die Windows Sockets-API. CAsyncSocket ist für Programmierer gedacht, die die Netzwerkprogrammierung kennen und die Flexibilität der Programmierung direkt in die Sockets-API wünschen, aber auch die Komfort von Rückruffunktionen für die Benachrichtigung von Netzwerkereignissen wünschen. Abgesehen von der Verpackung von Sockets in objektorientierter Form für die Verwendung in C++ ist die einzige zusätzliche Abstraktion, die diese Klasse bereitstellt, die Konvertierung bestimmter socketbezogener Windows-Nachrichten in Rückrufe. Weitere Informationen finden Sie unter Windows Sockets: Socketbenachrichtigungen.
CSocket
Diese von dieser Klasse abgeleitete
CAsyncSocket
Abstraktion stellt eine höhere Abstraktion zum Arbeiten mit Sockets über ein MFC CArchive-Objekt her. Die Verwendung eines Sockets mit einem Archiv ähnelt stark der Verwendung des Datei serialisierungsprotokolls von MFC. Dies erleichtert die Verwendung als dasCAsyncSocket
Modell. CSocket erbt viele Memberfunktionen vonCAsyncSocket
dieser Kapselung von Windows Sockets-APIs. Sie müssen einige dieser Funktionen verwenden und die Programmierung von Sockets im Allgemeinen verstehen. Verwaltet aberCSocket
viele Aspekte der Kommunikation, die Sie selbst tun müssen, entweder mit der rohen API oder KlasseCAsyncSocket
. Am wichtigsten ist dieCSocket
Blockierung (mit Hintergrundverarbeitung von Windows-Nachrichten), die für den synchronen Betrieb vonCArchive
.
Das Erstellen und Verwenden und Verwenden CSocket
CAsyncSocket
von Objekten wird in Windows Sockets beschrieben: Verwenden von Sockets mit Archiven und Windows Sockets: Verwenden von Class CAsyncSocket.
Windows Sockets-DLLs
Die Microsoft Windows-Betriebssysteme stellen die Dynamic Link Libraries (DLL) von Windows Sockets bereit. Visual C++ stellt die entsprechenden Headerdateien und -bibliotheken sowie die Windows Sockets-Spezifikation bereit.
Weitere Informationen zu Windows Sockets finden Sie unter: