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