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