delphi三层程序,用的scktsrvr.exe。 如何判断客户端是否在线?

来源:互联网 发布:知乎显示器护眼选择 编辑:程序博客网 时间:2024/05/14 03:30
客户端登陆之后,如何判断客户端是否在线?要考虑客户端非正常退出的情况,比如客户端断网了,死机了等等。

我考虑了一个办法,就是客户端用timer,分时向数据库保存一个信息,比如一个在线的标识,并记录上发送的时间,服务器端的程序,也有一个timer,定期的计算当前服务器时间和标识变动时间的时间差,如果超过n长时间,没有改变,就认为是下线了,

但是这样我觉得给数据库带来的负担大,有其他办法吗?求段代码。

----------------


不能从服务器端做心跳,也不能通过客户端计算机在线(连接)判断。
我的办法:
1、客户端定时上传固定“字符”,表示“在线”。
2、服务器端定时检查“字符”回传时间,超过时间值。删除该IP。


0 0
原创粉丝点击