netty 连接成功后过几秒马上又中断,这是什么鬼?

2019-05-20 14:51:43 +08:00
 gramyang

前端 android,后端 springboot,连接用的 netty,用 tls 加密了的。环境是 win10 本机同时部署客户端和服务端。

每次都是连接成功后过几秒又会断开连接。这期间发送请求都会发送失败。断开连接时触发 channelinactive 方法。

前后端的 log 中没有任何报错或者警告信息,因为我已经排除过了。

如果不是前后端代码的问题,而是什么别的问题(例如防火墙),该如何排查?

5067 次点击
所在节点    Java
10 条回复
iamniconico
2019-05-20 14:55:14 +08:00
有没有可能是 soTimeOut 没有设置
gramyang
2019-05-20 15:00:07 +08:00
@iamniconico 你说的是 CONNECT_TIMEOUT_MILLIS ?这个前端设置了后端没设置,关键这个东西不是连接超时吗?为什么和这个有关?
loveCoding
2019-05-20 15:14:05 +08:00
是不是 netty 启动写错了,用的阻塞方式启动 netty,连接完了自动走到了 finally 里面的释放逻辑?
loveCoding
2019-05-20 15:15:13 +08:00
最好是贴下代码
gramyang
2019-05-20 15:54:16 +08:00
@loveCoding 我知道你的意思,但是肯定不是那种简单的错误。
justicelove
2019-05-20 17:04:01 +08:00
抓包分析下
gramyang
2019-05-20 18:06:46 +08:00
@justicelove 最后把 ssl 禁用了,就可以了。ssl 真的是虐死我了
anyele
2019-05-21 01:18:48 +08:00
那如果是 SSL 的问题,那怎么解决呢
iamniconico
2019-05-21 10:18:47 +08:00
@gramyang soTimeOut 是原生 Socket 中的设置,意思是最大心跳间隔,就是说这个时间段之内如果没有任何通讯,服务端就会自动关闭这个连接,同样的,netty 也有类似的设置,你可以注意下这个点,仅供参考
resist
2020-05-07 17:18:11 +08:00
我好像也遇到了这种情况,一连接就断开了,read 都不跑,我用 IDE 运行了一个客户端是正常的,然后用模拟器运行了一个 APP 客户端,一连就断,也不知道什么原因,代码是一样的。。。

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

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

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

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

© 2021 V2EX