netty 里的 channelInactive 被触发一定是和服务器断开了吗

2018-11-10 20:24:51 +08:00
 nextdiscover

netty 里的 channelInactive 被触发一定是和服务器断开了吗, 发送完数据 channelInactive 经常被触发,不知道什么原因

16006 次点击
所在节点    Java
4 条回复
1194129822
2018-11-10 21:27:07 +08:00
是的,这有两种可能,一种服务端主动 close,还有客户端 colse,你的 handler 里重写捕获异常了吗,如果没有捕获异常,则操作此 channel 的任何异常都会关闭此 channel
linbiaye
2018-11-10 22:03:15 +08:00
触发了一定是连接不再可用了。如果是走公网,连接被中间设备(主要是 NAT 设备)掐断很正常,想要看为什么就 2 边抓包。
ppyybb
2018-11-11 00:50:23 +08:00
抓包看下吧,主动和被动 close 都有可能
要不然就自己打 log 调试一下
记得看下异常
bookc
2023-03-07 09:25:07 +08:00
@linbiaye 五年后看到这个回复,让我定位到了我的问题
果真是中间设备的问题
我用的是 nginx 转发 MQTT ,nginx 设置了一些配置导致不断的断开重连

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/506511

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX