Windows Sockets dans MFC
Remarque
MFC prend en charge Windows Sockets 1, mais ne prend pas en charge Windows Sockets 2. Windows Sockets 2 est d’abord fourni avec Windows 98 et est la version incluse dans Windows 2000.
MFC fournit deux modèles pour l’écriture de programmes de communication réseau avec Windows Sockets, incorporés dans deux classes MFC. Cet article décrit ces modèles et décrit plus en détail la prise en charge des sockets MFC. Un « socket » est un point de terminaison de communication : un objet via lequel votre application communique avec d’autres applications Windows Sockets sur un réseau.
Pour plus d’informations sur les sockets Windows, notamment une explication du concept de socket, consultez Windows Sockets : Arrière-plan.
Modèles de programmation de sockets
Les deux modèles de programmation Windows Sockets MFC sont pris en charge par les classes suivantes :
CAsyncSocket
Cette classe encapsule l’API Windows Sockets. CAsyncSocket est destiné aux programmeurs qui connaissent la programmation réseau et veulent la flexibilité de la programmation directement à l’API sockets, mais veulent également la commodité des fonctions de rappel pour la notification des événements réseau. À part l’empaquetage de sockets sous forme orientée objet pour une utilisation en C++, la seule abstraction supplémentaire que cette classe fournit consiste à convertir certains messages Windows liés au socket en rappels. Pour plus d’informations, consultez Windows Sockets : Notifications de socket.
CSocket
Cette classe, dérivée de
CAsyncSocket
, fournit une abstraction de niveau supérieur pour l’utilisation de sockets via un objet CArchive MFC. L’utilisation d’un socket avec une archive ressemble considérablement au protocole de sérialisation de fichiers de MFC. Cela facilite l’utilisationCAsyncSocket
du modèle. CSocket hérite de nombreuses fonctions membres deCAsyncSocket
ce qui encapsule les API Windows Sockets ; vous devrez utiliser certaines de ces fonctions et comprendre généralement la programmation des sockets. MaisCSocket
gère de nombreux aspects de la communication que vous devrez faire vous-même à l’aide de l’API brute ou de la classeCAsyncSocket
. Plus important encore,CSocket
fournit un blocage (avec traitement en arrière-plan des messages Windows), qui est essentiel à l’opération synchrone deCArchive
.
La création et l’utilisation CSocket
d’objets CAsyncSocket
sont décrites dans Windows Sockets : Utilisation de Sockets avec archives et Windows Sockets : utilisation de CAsyncSocket de classe.
DLL Windows Sockets
Les systèmes d’exploitation Microsoft Windows fournissent les bibliothèques de liens dynamiques Windows Sockets (DLL). Visual C++ fournit les fichiers et bibliothèques d’en-tête appropriés et la spécification windows Sockets.
Pour plus d’informations sur les sockets Windows, consultez :
Windows Sockets : fonctionnement des sockets avec des archives
Windows Sockets : dérivation à partir des classes de sockets