前端 android,后端 springboot,连接用的 netty,用 tls 加密了的。环境是 win10 本机同时部署客户端和服务端。
每次都是连接成功后过几秒又会断开连接。这期间发送请求都会发送失败。断开连接时触发 channelinactive 方法。
前后端的 log 中没有任何报错或者警告信息,因为我已经排除过了。
如果不是前后端代码的问题,而是什么别的问题(例如防火墙),该如何排查?
1
iamniconico 2019-05-20 14:55:14 +08:00
有没有可能是 soTimeOut 没有设置
|
2
gramyang OP @iamniconico 你说的是 CONNECT_TIMEOUT_MILLIS ?这个前端设置了后端没设置,关键这个东西不是连接超时吗?为什么和这个有关?
|
3
loveCoding 2019-05-20 15:14:05 +08:00
是不是 netty 启动写错了,用的阻塞方式启动 netty,连接完了自动走到了 finally 里面的释放逻辑?
|
4
loveCoding 2019-05-20 15:15:13 +08:00
最好是贴下代码
|
5
gramyang OP @loveCoding 我知道你的意思,但是肯定不是那种简单的错误。
|
6
justicelove 2019-05-20 17:04:01 +08:00
抓包分析下
|
7
gramyang OP @justicelove 最后把 ssl 禁用了,就可以了。ssl 真的是虐死我了
|
8
anyele 2019-05-21 01:18:48 +08:00
那如果是 SSL 的问题,那怎么解决呢
|
9
iamniconico 2019-05-21 10:18:47 +08:00
@gramyang soTimeOut 是原生 Socket 中的设置,意思是最大心跳间隔,就是说这个时间段之内如果没有任何通讯,服务端就会自动关闭这个连接,同样的,netty 也有类似的设置,你可以注意下这个点,仅供参考
|
10
resist 2020-05-07 17:18:11 +08:00
我好像也遇到了这种情况,一连接就断开了,read 都不跑,我用 IDE 运行了一个客户端是正常的,然后用模拟器运行了一个 APP 客户端,一连就断,也不知道什么原因,代码是一样的。。。
|