绑定套接字

要使服务器接受客户端连接,它必须绑定到系统中的网络地址。 以下代码演示如何将已创建的套接字绑定到 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 服务器应用程序

为服务器创建套接字