Création d’une application Winsock de base

Pour créer une application Winsock de base

  1. Créez un projet vide.
  2. Ajoutez un fichier source C++ vide au projet.
  3. 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.
  4. 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.
  5. 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

Prise en main avec Winsock

À propos des serveurs et des clients