Udostępnij za pośrednictwem


Inicjowanie biblioteki Winsock

Wszystkie procesy (aplikacje lub biblioteki DLL), które wywołują funkcje Winsock, muszą zainicjować użycie biblioteki DLL Windows Sockets przed wykonaniem innych wywołań funkcji Winsock. Dzięki temu zapewnia się, że usługa Winsock jest obsługiwana w systemie.

Aby zainicjować Winsock

  1. Utwórz obiekt WSADATA o nazwie wsaData.

    WSADATA wsaData;
    
  2. Wywołaj WSAStartup, zwróć jego wartość jako liczbę całkowitą, a następnie sprawdź, czy występują błędy.

    int iResult;
    
    // Initialize Winsock
    iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
    if (iResult != 0) {
        printf("WSAStartup failed: %d\n", iResult);
        return 1;
    }
    

Funkcja WSAStartup jest wywoływana w celu zainicjowania użycia WS2_32.dll.

Struktura WSADATA zawiera informacje o implementacji gniazd systemu Windows. Parametr MAKEWORD(2,2) WSAStartup wysyła żądanie dotyczące wersji 2.2 biblioteki Winsock w systemie i ustawia przekazaną wersję jako najwyższą obsługę gniazd systemu Windows, których może używać obiekt wywołujący.

Następny krok dla klienta: tworzenie gniazda dla klienta

Następny krok dla serwera: Tworzenie gniazda dla serwera

Wprowadzenie do Winsock

tworzenie podstawowej aplikacji Winsock