系結通訊端

若要讓伺服器接受用戶端連線,它必須系結至系統內的網路位址。 下列程式碼示範如何將已建立的通訊端系結至 IP 位址和埠。 用戶端應用程式會使用 IP 位址和埠來連線到主機網路。

系結通訊端

sockaddr結構會保存位址系列、IP 位址和埠號碼的相關資訊。

呼叫bind函式,傳遞從getaddrinfo函式傳回的已建立通訊端sockaddr結構作為參數。 檢查一般錯誤。

    // Setup the TCP listening socket
    iResult = bind( ListenSocket, result->ai_addr, (int)result->ai_addrlen);
    if (iResult == SOCKET_ERROR) {
        printf("bind failed with error: %d\n", WSAGetLastError());
        freeaddrinfo(result);
        closesocket(ListenSocket);
        WSACleanup();
        return 1;
    }

呼叫 系結 函式之後, 不再需要 getaddrinfo 函式傳回的位址資訊。 會呼叫 freeaddrinfo函式,以釋放getaddrinfo函式為這個位址資訊配置的記憶體。

    freeaddrinfo(result);

下一個步驟: 接聽通訊端

使用 Winsock 消費者入門

Winsock 伺服器應用程式

建立伺服器的通訊端