【发布时间】:2014-10-07 16:26:47
【问题描述】:
我的客户端正在向子网上的所有服务器发送 UDP 广播。每个服务器都会回复客户端,以便客户端可以获取/存储服务器的 IP 地址。并非每次所有服务器都会收到消息(可能是因为 UDP?)。当找到服务器的新IP地址时,最好的方法是增加一个广播计数器吗?
另一个问题目前在客户端,一次只能收到一条消息。是否可以同时接收多条消息?
这是我的客户端代码:
if (recvfrom(Socket, receiveBuffer, BUFLEN, 0, (struct sockaddr *) &connectedSocket, &length) == SOCKET_ERROR)
{
printf("\nrecvfrom() failed with error code : %d" , WSAGetLastError());
closesocket(Socket);
WSACleanup();
exit(EXIT_FAILURE);
} else {
printf("\nServer Says : ");
printf("\n\nI am from %s:%d\n", inet_ntoa(connectedSocket.sin_addr), ntohs(connectedSocket.sin_port));
}
【问题讨论】:
标签: visual-c++ winsock