高分!Indy的TCPServer做的server,客户端直接关机,怎么侦测到该客户端已退出了? ( 积分: 200 )

  • 主题发起人 主题发起人 zhaoxueli
  • 开始时间 开始时间
Z

zhaoxueli

Unregistered / Unconfirmed
GUEST, unregistred user!
Indy的TCPServer做的server,客户端直接关机,怎么侦测到该客户端已退出了?
 
Indy的TCPServer做的server,客户端直接关机,怎么侦测到该客户端已退出了?
 
定时ping它,如果不通就表示关机了(在无防火墙的情况下)。不过文件传输有现成的例程。
 
我是这样做的,客户端一登陆,我就在服务器端记录下来它的IP地址及端口,其余的事情就很好做了,象楼主这样的问题,只要服务器定期发送消息,如果客户端没有应答,就认为客户端已经退出。或客户端主动定期发送消息,服务器判断消息的间隔范围,如果超出范围,就认为客户端已经退出。
 
通过实际检验的方法:
客户端定时发送消息给服务器端,服务器每隔一段时间检查是否收到该客户的消息,如果没有收到则认为该客户端已经退出(也就是所谓的心跳检测)。
 
tcp link 断开,server不会知道吗?
 
delnew 说的正是。
 
d_eng,是对的~~
 
onclientdisconnect
 
多人接受答案了。
 

Similar threads

后退
顶部