连接到套接字
要使客户端在网络上进行通信,它必须连接到服务器。
连接到套接字
调用 connect 函数,将创建的套接字和 sockaddr 结构作为参数传递。 检查常规错误。
// Connect to server.
iResult = connect( ConnectSocket, ptr->ai_addr, (int)ptr->ai_addrlen);
if (iResult == SOCKET_ERROR) {
closesocket(ConnectSocket);
ConnectSocket = INVALID_SOCKET;
}
// Should really try the next address returned by getaddrinfo
// if the connect call failed
// But for this simple example we just free the resources
// returned by getaddrinfo and print an error message
freeaddrinfo(result);
if (ConnectSocket == INVALID_SOCKET) {
printf("Unable to connect to server!\n");
WSACleanup();
return 1;
}
getaddrinfo 函数用于确定 sockaddr 结构中的值。 在此示例中,getaddrinfo 函数返回的第一个 IP 地址用于指定传递给连接的sockaddr 结构。 如果对第一个 IP 地址的连接调用失败,请尝试从 getaddrinfo 函数返回的链接列表中下一个 addrinfo 结构。
sockaddr 结构中指定的信息包括:
- 客户端将尝试连接到的服务器 IP 地址。
- 客户端将连接到的服务器上的端口号。 当客户端调用 getaddrinfo 函数时,此端口被指定为端口 27015。
下一步: 在客户端上发送和接收数据
相关主题
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈