问题描述
- Netty 远程断开后的异常问题
-
使用netty做长连接,server端每30秒进行一次心跳包发送,client端也设置了ReadTimeoutHandler,时间长度为40秒,在局域网开发环境下,如果server自动断开,不管是client.channel本身,还是ReadTimeoutHandler都有异常提出,但是在非局域网连接情况下,将client连接到到公网的server后,sever一旦断开,所有的client端都不会提示异常,而且连ReadTimeoutHandler也不会按指定时间执行,请问是什么原因,如何解决呢?请各位高手指点一下.
解决方案
自己单独用一个定时器来控制,估计ReadTimeoutHandler等还是依赖服务器的返回响应等
非局域网环境,服务器断线响应包可能被过滤了,客户端收不到。
解决方案二:
http://www.iteye.com/problems/103468
http://baike.1688.com/doc/view-d36950770.html
时间: 2024-09-22 11:50:10