一般有什么原因,
会死在recv啊?昨天还行呢!
faint死了。

解决方案 »

  1.   

    你好像采用的阻塞方式,而且若没有数据到达则会阻塞在recv函数上.最好采用非阻塞函数,用事件的方式接收;
    或者采用多线程+阻塞方式
      

  2.   

    当你的程序停在recv()时,
    只要有别的程序向它发送点什么,
    它就会接着往下走了。
      

  3.   

    哦,
    我想这是设置recv的超时问题了?怎么设置recv的超时呢?
      

  4.   

    int bread;
    int timeout = 1000;
    bread = setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(timeout));
    if(bread == SOCKET_ERROR) 
    {
      int nErrorCode = WSAGetLastError());
      return;
    }//Look at MSDN about setsockopt function