调用select之前还得调用ioctlsocket么?

解决方案 »

  1.   

    setsockopt
    选项为SO_SNDTIMEO;
      

  2.   

    套接字模式和模型是不同的概念模式分为阻塞与非阻塞
    windows上模型就有6个
      

  3.   

    由于阻塞socket在connect时的最小超时也很难接受,所以用select来做connect超时估计是目前唯一也是很不错的方法,呵呵,如楼主所说,设置一下即可
      

  4.   

    不用,直接调用
    //set Recv and Send time out
    int TimeOut=6000; //设置发送超时6秒
    if(::setsockopt(cClient,SOL_SOCKET,SO_SNDTIMEO,(char *)&TimeOut,sizeof(TimeOut))==SOCKET_ERROR){
    return 0;
    }
    TimeOut=6000;//设置接收超时6秒
    if(::setsockopt(cClient,SOL_SOCKET,SO_RCVTIMEO,(char *)&TimeOut,sizeof(TimeOut))==SOCKET_ERROR){
    return 0;
    }
    就可以了,