udp为什么收不到对方发的数据?
门吹西风 2004-12-23 03:00:20 SOCKADDR_IN s_in;
if ( (hUdpServerSocket = socket(AF_INET, SOCK_DGRAM, 0))== INVALID_SOCKET )
{
nSocketError = WSAGetLastError();
return FALSE ;
}
s_in.sin_addr.S_un.S_addr = inet_addr("192.168.42.99");//INADDR_ANY;
s_in.sin_family = AF_INET ;
s_in.sin_port = htons(port) ;
if ( bind(hUdpServerSocket, (SOCKADDR*)&s_in, sizeof(SOCKADDR_IN))== SOCKET_ERROR )
{
closesocket(hUdpServerSocket);
return FALSE ;
}
while ( 1 )
{
int nReadSocket = 0 ;
fd_set sockSet;
struct timeval interval;
FD_ZERO(&sockSet);
FD_SET(hUdpSocket, &sockSet);
interval.tv_sec = iTimeOut;
interval.tv_usec = (iTimeOut > 0) ? 0 : 10;
nReadSocket = select(0, &sockSet, NULL, NULL, &interval);
if ( nReadSocket == 1 )
recvfrom(...) ;
}
现在是对方发了很多数据, 这里的nReadSocket总是为0,郁闷ing....