java socket通信 心跳包

passwordException 2017-02-27 03:44:23
目前我用客户端(C#)定时每6秒发送一个自己定义格式的心跳包,java做服务器端,能接收到,但是我怎么去判断呢。超过6秒就断开这个socket。我是接收到一个socket然后为这个socket开启一个线程监听消息。我应该怎么写,给个思路吧大神们,非常急,跪求了。是长连接。
...全文
276 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
passwordException 2017-02-28
  • 打赏
  • 举报
回复
谢谢大家解决了
tianfang 2017-02-27
  • 打赏
  • 举报
回复
心跳信息一个key-value就可以保存,客户端IP+客户端port作为key,上次心跳的时间戳为key 启动一个定时线程,定时遍历key-value,当前时间戳-心跳时间戳>设置的阈值,就断开连接
tianfang 2017-02-27
  • 打赏
  • 举报
回复
java端基于什么框架编写的?要采用AIO/NIO框架做,否则一个连接一个线程,开销太大了
jiajing1990_ 2017-02-27
  • 打赏
  • 举报
回复
你可以建个全局变量来记录超时次数,如果收到心跳包 则将超时次数清空,然后你自己可以预设每隔10秒检测一下超时次数,如果超时次数累计到了你认为不能接受的值,就将连接断开
qq_35095385 2017-02-27
  • 打赏
  • 举报
回复
passwordException 2017-02-27
  • 打赏
  • 举报
回复
自己顶一下,真的非常急,在线等

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧