使用netty做长连接,server端每30秒进行一次心跳包发送,client端也设置了ReadTimeoutHandler,时间长度为40秒,在局域网开发环境下,如果server自动断开,不管是client.channel本身,还是ReadTimeoutHandler都有异常提出,但是在非局域网连接情况下,将client连接到到公网的server后,sever一旦断开,所有的client端都不会提示异常,而且连ReadTimeoutHandler也不会按指定时间执行,请问是什么原因,如何解决呢?请各位高手指点一下.
3条回答
- oyljerry 2015-07-15 03:26关注
自己单独用一个定时器来控制,估计ReadTimeoutHandler等还是依赖服务器的返回响应等
非局域网环境,服务器断线响应包可能被过滤了,客户端收不到。解决 无用评论 打赏 举报
悬赏问题
- ¥15 FPGA-SRIO初始化失败
- ¥15 MapReduce实现倒排索引失败
- ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
- ¥15 找一位技术过硬的游戏pj程序员
- ¥15 matlab生成电测深三层曲线模型代码
- ¥50 随机森林与房贷信用风险模型
- ¥50 buildozer打包kivy app失败
- ¥30 在vs2022里运行python代码
- ¥15 不同尺寸货物如何寻找合适的包装箱型谱
- ¥15 求解 yolo算法问题