服务段程序用IdTCPServer组件,客户端用IdTCPClient组件(注:有多个客户端同时工作,服务端采用多线程连接),请问:怎样才能做到当客户端正常或者非正常的掉线,服务端都有相应的相应?

解决方案 »

  1.   

    通过timer间隔性的查询连接情况
      

  2.   

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

  3.   

    OnDisconnect可以处理
    IndyTCP组件是实时连接,可以不需要查询连接的
    要的也可以用Indy的方法,CheckXxx方法,看Help去了