当前位置: 首页 > 网络应用技术

Netty系列:谈论Netty的超时和心跳机制

时间:2023-03-07 15:35:18 网络应用技术

  在网络通信中,网络链接是不稳定的,异常会发生,并且异常性能是请求超时或响应超时。类似异常对系统的可靠性产生重大影响,因此如何监视通信异常?在监视异常后处理?让我们谈谈这个问题。

  Netty的超时类型主要分为以下三个类别:

  对于以上三种加班异常,Netty提供了3个用于监视的类别。

  IDLESTATEHANDLER包括读写超时状态处理,观察iDlestateHandler类的构造函数源代码。

  在上面的源代码中,构造函数可以接收以下参数:

  idleStateHandler使用示例:

  在上面的示例中,idleStateHandler设置了60秒的超时时间,超时时间为30秒。Myhandler被处理到超时事件的IDlestateEvent。

  ReadTimeouthandler类包括超时的超时。ReadTimeouthandler类的源代码如下:

  从上面的源代码可以看出,ReadTimeouthandler从idleStateHandler继承,并且在构造函数中被禁用以停止时间,读取和写出,并且仅在处理超时时处理状态,并导致ReadTimeTimeTexception异常。

  使用ReadTimeouthandler的使用如下:下面:

  在上面的示例中,ReadTimeouthandler设置了30秒的暂停时间。

  wittimeouthandler课程包括超时的超时。wittimeouthandler类的源代码如下:

  从上述源代码可以看出,当处理wittimeouthandler时,它会导致WriteTimeOutexception超过。

  Wittimeouthandler使用的使用如下:下面:

  在上面的示例中,wittimeouthandler设置了30秒的暂停时间。

  超时的解决方案-HeartBeat机制。

  在程序开发中,心跳机制非常普遍。原则是,可以在连接闲置时发送心跳以保持连接。从总体上讲,心跳是一个小的沟通。

  1.定义心跳处理器

  对于上述代码说明:

  2.定义用于封装各种类型的ChannelInitializer。代码如下:

  上述代码的描述如下:

  3.编写服务器服务器代码相对简单。开始后,请收听端口8083。

  4.测试您首先启动HeartbeatServer。TELNET程序随客户可以使用的操作系统随附:

  您可以看到客户端和服务器的交互作用,如下所示。

  如果文章对您有帮助,请记住阅读。