Winsock の初期化

Winsock 関数を呼び出すすべてのプロセス (アプリケーションまたは DLL) は、他の Winsock 関数を呼び出す前に、Windows ソケット DLL の使用を初期化する必要があります。 これにより、Winsock がシステムでサポートされていることも確認されます。

Winsock を初期化するには

  1. wsaData という名前の WSADATA オブジェクトを作成します。

    WSADATA wsaData;
    
  2. WSAStartup を呼び出し、その値を整数として返し、エラーのチェックします。

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

WSAStartup 関数は、WS2_32.dllの使用を開始するために呼び出されます。

WSADATA 構造体には、Windows ソケットの実装に関する情報が含まれています。 WSAStartup の MAKEWORD(2,2) パラメーターは、システム上のバージョン 2.2 の Winsock に対する要求を行い、渡されたバージョンを呼び出し元が使用できる最高バージョンの Windows ソケット サポートとして設定します。

クライアントの次の手順: クライアント のソケットの作成

サーバーの次の手順: サーバー のソケットの作成

winsock ではじめにする

基本的な Winsock アプリケーションの作成