本帖最后由 wufengle 于 2010-03-04 18:41:26 编辑

解决方案 »

  1.   


    这个想法也可行  我试试啊  用time控件定时发数据包  再catch    有想法是很好的。。去实现下。
      

  2.   

    服务端定时轮巡检测客户端是否连接,可以参考SNMP的管理机制.
    如果客户端太多的话,不建议使用TCP,用UDP好点,如果数据量不大不频繁,可以考虑短连接.
      

  3.   

    C#包装网络IO操作太高级了,一般要组合多种方式进行检测,才能及时准确的监测出。这里有个源代码的例子:
    http://code.google.com/p/tinynetevent/
      

  4.   

    CLIENT正常断开,那么对应CLIENT的SERVER的SOCKET连接会接受到断开信息(一个空的数据)。
    但是如外部断电,死机等意外SERVER就无法检测到的,需要通过心跳包判断某个SOCKET连接是否正常,不正常就释放掉