Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Skapa ett grundläggande Winsock-program
Skapa ett nytt tomt projekt.
Lägg till en tom C++-källfil i projektet.
Se till att byggmiljön refererar till katalogerna Include, Lib och Src i Microsoft Windows Software Development Kit (SDK) eller tidigare Platform Software Development Kit (SDK).
Se till att byggmiljön länkar till Winsock-biblioteksfilen Ws2_32.lib. Program som använder Winsock måste länkas till biblioteksfilen Ws2_32.lib. Kommentaren #pragma anger för länkaren att filen Ws2_32.lib behövs.
Börja programmera Winsock-programmet. Använd Winsock-API:et genom att inkludera Winsock 2-huvudfilerna. Winsock2.h- huvudfil innehåller de flesta winsock-funktioner, strukturer och definitioner. Ws2tcpip.h-huvudfilen innehåller definitioner som introducerades i winsock 2-Protocol-Specific bilagadokumentet för TCP/IP som innehåller nyare funktioner och strukturer som används för att hämta IP-adresser.
Not
Stdio.h används för standardindata och utdata, särskilt funktionen printf().
#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdio.h>
#pragma comment(lib, "Ws2_32.lib")
int main() {
return 0;
}
Not
Iphlpapi.h huvudfil krävs om ett program använder API:erna för IP-hjälpen. När Iphlpapi.h--huvudfilen krävs ska #include-raden för Winsock2.h--huvudfilen placeras före #include-raden för Iphlpapi.h--huvudfilen.
Winsock2.h--huvudfilen innehåller internt kärnelement från Windows.h--huvudfil, så det finns vanligtvis inte en #include rad för Windows.h- huvudfil i Winsock-program. Om det behövs en #include rad för Windows.h--huvudfilen bör detta föregås av #define WIN32_LEAN_AND_MEAN makro. Av historiska skäl inkluderar Windows.h-headerfilen som standard Winsock.h-headerfilen för Windows Sockets 1.1. Deklarationerna i Winsock.h--huvudfilen kommer i konflikt med deklarationerna i Winsock2.h huvudfil som krävs av Windows Sockets 2.0. Makrot WIN32_LEAN_AND_MEAN förhindrar att Winsock.h- inkluderas i Windows.h--huvudet. Ett exempel som illustrerar detta visas nedan.
#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;
}
Nästa steg: Initiera Winsock
Relaterade ämnen