在网络通信中,网络链接是不稳定的,异常会发生,并且异常性能是请求超时或响应超时。类似异常对系统的可靠性产生重大影响,因此如何监视通信异常?在监视异常后处理?让我们谈谈这个问题。
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程序随客户可以使用的操作系统随附:
您可以看到客户端和服务器的交互作用,如下所示。
如果文章对您有帮助,请记住阅读。