timeval val;
val.tv_usec = time_*1000; 
val.tv_sec = time_;      
setsockopt(handle_,SOL_SOCKET,SO_RCVTIMEO,(char*)&val,sizeof(val));头文件是winsock2.h,网上查的,这个支持。但是我的接收怎么没有超时。一直是阻塞的。是否我还有其他条件没有注意到?

解决方案 »

  1.   

    int timeOut = 10 * 1000;
    setsockopt(handle_,SOL_SOCKET,SO_RCVTIMEO,(char*)&timeOut ,sizeof(timeOut));
      

  2.   

    查出来了。其他方面的一个错误。不过还是有疑惑,
    timeval val; 
    val.tv_usec = time_*1000; 
    val.tv_sec = time_;
    用这个的时候在我电脑上不行,其他电脑上行。我电脑上只能用int time = xxx;那种方式。先结贴。很多事情,耽误大家时间了。