连接到套接字
要使客户端在网络上进行通信,它必须连接到服务器。
连接到套接字
调用 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。
下一步: 在客户端上发送和接收数据
相关主题