Share via


Creazione di un'applicazione Winsock di base

Per creare un'applicazione Winsock di base

  1. Creare un nuovo progetto vuoto.

  2. Aggiungere un file di origine C++ vuoto al progetto.

  3. Assicurarsi che l'ambiente di compilazione faccia riferimento alle directory Include, Lib e Src di Microsoft Windows Software Development Kit (SDK) o di Platform Software Development Kit (SDK).

  4. Assicurarsi che l'ambiente di compilazione sia collegato al file della libreria Winsock Ws2_32.lib. Le applicazioni che usano Winsock devono essere collegate al file di libreria Ws2_32.lib. Il commento #pragma indica al linker che è necessario il file Ws2_32.lib .

  5. Iniziare a programmare l'applicazione Winsock. Usare l'API Winsock includendo i file di intestazione Winsock 2. Il file di intestazione Winsock2.h contiene la maggior parte delle funzioni, delle strutture e delle definizioni winsock. Il file di intestazione Ws2tcpip.h contiene le definizioni introdotte nel documento winSock 2 Protocol-Specific Allegato per TCP/IP che include funzioni e strutture più recenti usate per recuperare gli indirizzi IP.

    Nota

    Stdio.h viene usato per l'input e l'output standard, in particolare per la funzione printf().

     

#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdio.h>

#pragma comment(lib, "Ws2_32.lib")

int main() {
  return 0;
}

Nota

Il file di intestazione Iphlpapi.h è necessario se un'applicazione usa le API helper IP. Quando è necessario il file di intestazione Iphlpapi.h , la riga #include per il file di intestazione Winsock2.h deve essere inserita prima della riga #include per il file di intestazione Iphlpapi.h .

Il file di intestazione Winsock2.h include internamente gli elementi principali del file di intestazione Windows.h , pertanto non esiste in genere una riga #include per il file di intestazione Windows.h nelle applicazioni Winsock. Se è necessaria una riga #include per il file di intestazione Windows.h , deve essere preceduta dalla macro #define WIN32_LEAN_AND_MEAN. Per motivi cronologici, per impostazione predefinita l'intestazione Windows.h include il file di intestazione Winsock.h per Windows Sockets 1.1. Le dichiarazioni nel file di intestazione Winsock.h saranno in conflitto con le dichiarazioni nel file di intestazione Winsock2.h richiesto da Windows Sockets 2.0. La macro WIN32_LEAN_AND_MEAN impedisce l'inserimento di Winsock.h dall'intestazione Windows.h . Di seguito è illustrato un esempio.

 

#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;
}

Passaggio successivo: Inizializzazione di Winsock

Introduzione con Winsock

Informazioni su server e client