读书人

delphi三层程序用的scktsrvr.exe。

发布时间: 2013-01-11 11:57:35 作者: rapoo

delphi三层程序,用的scktsrvr.exe。 如何判断客户端是否在线?
客户端登陆之后,如何判断客户端是否在线?要考虑客户端非正常退出的情况,比如客户端断网了,死机了等等。

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

但是这样我觉得给数据库带来的负担大,有其他办法吗?求段代码。
[解决办法]
做个 判断 即可

在局域网内测试,是可以根据 电脑名称和IP来确定是否在线的,
在广域网上测试的话,也只能根据IP来测试的
[解决办法]
不能从服务器端做心跳,也不能通过客户端计算机在线(连接)判断。
我的办法:
1、客户端定时上传固定“字符”,表示“在线”。
2、服务器端定时检查“字符”回传时间,超过时间值。删除该IP。

读书人网 >.NET

热点推荐