我用的是UDP进行网络编程,在接收数据时我想设置30秒的超时时间,在网上找了很多资料,照着试了却不能超时,它仍然会一直等下去,代码如下,忘各位高手指点.
//所有其它工作已经完成,有数据来是可以接收的.
int nNetTimeout = 20000;
if(setsockopt(m_socket,SOL_SOCKET,SO_RCVTIMEO,(char *)&nNetTimeout,sizeof(int))!=0){
return FALSE;
}
WSARecvFrom(m_socket,&wsabuf,1,&dwRead,&dwFlag,(SOCKADDR*)&addr,&addLen,NULL,NULL);