各位大牛,我做了一个局域网维护工具,用的是易语言的远程支持库 没用客户服务组件,检测客户是否在线的时候卡在这里写不下去了。具体情况是这样:
客户端上线后加入在超级列表框里,但是客户一旦非法下线,既强制关机,拔掉网线等这类的非正常操作就无法用客户离开这个判断了,有听说用心跳包 可是我怎么想都写不出来啊 原因如下 1是客户端很多大概200多个左右,如果我服务端发验证信息的话 那么200个客户端发下来也要不少时间,2是发出去客户接受到了 发回验证 我服务端验证也要一个一个的来验证工作量更大了,这样不卡死了?而且谁发来的该怎么验证更是毫无头绪啊。求大牛赐教啊
我主要是想写服务端判断客户离开 然后从超级列表框里删除.不需要客户端执行什么
在客户端添加一个线程,用来发送在线的心跳包(此包生成的为时间戳,加密),服务器收到后,自动更新当前在线用户的在线时间
服务器添加一个线种,定时循环检测用户的时间戳,如果大于或小于设定时间(一般在30秒至1分钟)即判断为掉线并做掉线处理;
客户端防故意断网,如果发送信息失败,即断网
服务器添加一个线种,定时循环检测用户的时间戳,如果大于或小于设定时间(一般在30秒至1分钟)即判断为掉线并做掉线处理;
客户端防故意断网,如果发送信息失败,即断网
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-12-31
是不是检测客户端突然离线?
在写客户端的程序的时候加个时钟判断,如果服务器或者网络连接不上则就是客户的网断了,是否在线()该命令就可以判断自身客户端是否在线,如果不在线即执行什么什么,
在写客户端的程序的时候加个时钟判断,如果服务器或者网络连接不上则就是客户的网断了,是否在线()该命令就可以判断自身客户端是否在线,如果不在线即执行什么什么,
第2个回答 2012-12-31
只能一个一个的验证,很快的不过要用多线程 不然真的会卡在那里,,每个一定时间验证一次