Netty服务端心跳机制(IdleStateHandler)

在这里添加了一下netty服务器端的心跳机制,netty的服务端有IdleStateHandler机制

相对于客户端的检查方法比较简单

我们来看下这个IdleStateHandler的参数


第一个参数设置未读时间,第二个参数设置为未写时间,第三个为都未进行操作的时间

一般第一个时间是服务器设置多长时间没有收到客户端消息的时间

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


在服务端添加 红框内容,创建 AccrptorIdleStateTrigger类  



userEcentTriggered这个方法,如果10s内没有接收到客户端发送的消息,没有触发下面这个方法的话,就会进去到这里


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

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

https://blog.csdn.net/z69183787/article/details/52625095

你可能感兴趣的:(Netty服务端心跳机制(IdleStateHandler))