Création d’une application Winsock de base
Pour créer une application Winsock de base
- Créez un projet vide.
- Ajoutez un fichier source C++ vide au projet.
- veillez à ce que l’environnement de génération fasse référence aux répertoires include, Lib et Src du kit de développement logiciel (sdk) Microsoft Windows ou du kit de développement logiciel (sdk) de plateforme précédent.
- Vérifiez que l’environnement de génération est lié au fichier de bibliothèque Winsock Ws2 _ 32. lib. Les applications qui utilisent Winsock doivent être liées au _ fichier de bibliothèque Ws2 32. lib. Le # Commentaire pragma indique à l’éditeur de liens que le fichier Ws2 _ 32. lib est nécessaire.
- Commencez à programmer l’application Winsock. Utilisez l’API Winsock en incluant les fichiers d’en-tête Winsock 2. Le fichier d’en-tête Winsock2. h contient la plupart des fonctions, structures et définitions Winsock. Le fichier d’en-tête Ws2tcpip. h contient les définitions présentées dans le document de l’annexe WinSock 2 Protocol-Specific pour TCP/IP, qui inclut des fonctions et structures plus récentes utilisées pour récupérer des adresses IP.
Notes
Stdio. h est utilisé pour l’entrée et la sortie standard, en particulier la fonction printf () .
#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdio.h>
#pragma comment(lib, "Ws2_32.lib")
int main() {
return 0;
}
Notes
Le fichier d’en-tête iphlpapi. h est requis si une application utilise les API d’assistance IP. Lorsque le fichier d’en-tête iphlpapi. h est requis, la # ligne include pour le fichier d’en-tête Winsock2. h doit être placée avant la # ligne include pour le fichier d’en-tête iphlpapi. h .
le fichier d’en-tête Winsock2. h inclut en interne les éléments principaux du fichier d’en-tête Windows. h , de sorte qu’il n’y a généralement pas # de ligne include pour le fichier d’en-tête Windows. h dans les applications Winsock. si une # ligne include est nécessaire pour le fichier d’en-tête Windows. h , elle doit être précédée de la # macro define WIN32 _ maigre _ AND _ MEAN. pour des raisons historiques, l’en-tête Windows. h inclut par défaut le fichier d’en-tête Winsock. h pour Windows sockets 1,1. les déclarations du fichier d’en-tête Winsock. h sont en conflit avec les déclarations dans le fichier d’en-tête Winsock2. h requis par Windows sockets 2,0. la _ _ _ macro moyenne et moyenne WIN32 empêche l’inclusion de Winsock. h par l’en-tête Windows. h . Vous trouverez ci-dessous un exemple illustrant cette illustration.
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include <windows.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <iphlpapi.h>
#include <stdio.h>
#pragma comment(lib, "Ws2_32.lib")
int main() {
return 0;
}
Étape suivante : initialisation de Winsock