在这里添加了一下netty服务器端的心跳机制,netty的服务端有IdleStateHandler机制
相对于客户端的检查方法比较简单

我们来看下这个IdleStateHandler的参数
Netty服务端心跳机制(IdleStateHandler)
第一个参数设置未读时间,第二个参数设置为未写时间,第三个为都未进行操作的时间

一般第一个时间是服务器设置多长时间没有收到客户端消息的时间
第二个是netty客户端设置多长时间给服务器发送一条消息的时间(如果是untiy的需要自己实现)

Netty服务端心跳机制(IdleStateHandler)
Netty服务端心跳机制(IdleStateHandler)
在服务端添加 红框内容,创建 AccrptorIdleStateTrigger类

Netty服务端心跳机制(IdleStateHandler)
userEcentTriggered这个方法,如果10s内没有接收到客户端发送的消息,没有触发下面这个方法的话,就会进去到这里

Netty服务端心跳机制(IdleStateHandler)
IdleState.READER_IDLE 表示 如果客户端没有在规定的时间内给你发送消息,服务端就会认为这个客户端宕掉了,关闭这个链接

--------netty服务端进行检测的方法比较容易,netty的客户端的话我给大家分享个链接,写的很详细,不过有一点我把userEcentTriggered单独放出来的时候数据发送不到服务器,可能跟我的数据协议有关,毕竟能力有限,后来我把netty客户端的userEventTriggered这个方法放到了处理接收数据的类里,调试成功,主要是为了测试下服务器。大家可以看看下面这个链接

相关文章:

  • 2021-08-08
  • 2022-12-23
  • 2021-07-14
  • 2021-05-21
  • 2021-09-06
  • 2021-11-11
  • 2021-06-27
猜你喜欢
  • 2022-12-23
  • 2021-08-29
  • 2022-12-23
  • 2021-04-28
  • 2021-09-28
  • 2019-09-25
  • 2021-09-18
相关资源
相似解决方案