我程序的客户端不是计算机,所以不存在正常断开的情况,只存在意外断电断线的情况,请问高手们,如何判断客户端已经断开呢,是不是用超时的呢,indy的超时怎么写呢??用disconnection事件根本检测不到,再断线以后如何把这个线程给结束掉呢??

解决方案 »

  1.   

    不断的调用AThread.Connection.CheckForGracefulDisconnect;来检测客户端是否已经断开连接
      

  2.   

    用waitforsingleobject来等待,然后判断它的返回值
      

  3.   

    waitforsingleobject有没有具体的用法,共享一下把
      

  4.   

    客户端每隔一小段时间给服务器发送“心跳”信息。
    服务器记录每个客户端上次给服务器上送些信息的时间,同时增加一Timer或一线程,进行判断,如果当前时间减去某个客户端上次活动的时间大于一定的时间间隔,则置它为离线。