两个连接了的SOCKET,怎样知道对方断开了连接??

解决方案 »

  1.   

    如果你是stream模式下,从CSOCKET派生一个自己的类,然后映射OnClose消息,如果对方以正常方式退出程序的话,会进入OnClose()消息函数,你也就知道对方是否已经断开连接了。如果对方是突然断电、强行关机或网线被切断的话,也需要知道对方断开了连接,就用楼上的方法吧!
      

  2.   

    如果用winsock该如何处理呢?
      

  3.   

    好几种办法:
    1定时用arp(最快的一种:但要有winpcap的知识),只能用于局域网
    2定时探测目标机是否开放了某个端口(如:135 139 445,如果你有懂扫描,就知道该怎么办,用winsock或csocket或asynsock都行,推荐winsock,超时容易控制),不过如果对方装了防火墙,不行