有关超时相关的handler主要有以下几个,这这里就不做详细介绍了。
- IdleStateEvent
- IdleStateHandler
- ReadTimeoutHandler
- WriteTimeoutHandler
但是有没有小伙伴跟我一样设置了之后没有起作用?当时很纠结呀。
主要问题在设置时添加的顺序问题。具体原因的话需要查看源代码进行解答,这里就不做细究了。
ch.pipeline().addLast(new IdleStateHandler(10, 5, 20, TimeUnit.SECONDS));
ch.pipeline().addLast(new MyHandler());
用以上顺序,超时相关的handler了就会正常执行了。