客户端登陆之后,如何判断客户端是否在线?要考虑客户端非正常退出的情况,比如客户端断网了,死机了等等。
我考虑了一个办法,就是客户端用timer,分时向数据库保存一个信息,比如一个在线的标识,并记录上发送的时间,服务器端的程序,也有一个timer,定期的计算当前服务器时间和标识变动时间的时间差,如果超过n长时间,没有改变,就认为是下线了,
我考虑了一个办法,就是客户端用timer,分时向数据库保存一个信息,比如一个在线的标识,并记录上发送的时间,服务器端的程序,也有一个timer,定期的计算当前服务器时间和标识变动时间的时间差,如果超过n长时间,没有改变,就认为是下线了,
但是这样我觉得给数据库带来的负担大,有其他办法吗?求段代码。
----------------
不能从服务器端做心跳,也不能通过客户端计算机在线(连接)判断。
我的办法:
1、客户端定时上传固定“字符”,表示“在线”。
2、服务器端定时检查“字符”回传时间,超过时间值。删除该IP。