如果对方用Close方法关闭了,你这里会触发一个Close事件,使用WASAsyncSelect模型比较方便

解决方案 »

  1.   

    当Socket被关闭时,在Socket类的OnClose()事件函数可被触发。
      

  2.   

    如果是对方主动关闭socket比较好处理,如果是网络上的问题造成,
    最好设置发送和接受的timeout时间片,如果时间片到了程序可以认为对方中断了,
    当然也可以另外设置一个线程进行连接控制
      

  3.   

    如果是TCP连接会有FD_CLOSE事件,你可以在这里做你想做的事;
    如果是UDP连接;只有自己在一个规定的TIME_OUT时间内检测;
      

  4.   

    检查句柄
    if(pSock->m_hSocket==INVALID_SOCKET){

    //m_connectionList.RemoveAt (temp);
              //write something here 


    }