Netty Client一段时间后不会发送更多数据

时间:2013-06-04 14:36:09

标签: java netty

我正在编写一个应用程序,它包含一个服务器和一个使用Netty编写的客户端。

我还没有找到这个问题的真正答案,但我想知道为什么我的服务器 - 客户端连接在一段时间后如果不使用就停止能够传输数据。 “keepAlive”选项设置为True,一切正常,直到客户端有足够的时间“断开连接”,但服务器没有收到断开连接状态。 只是一般好奇,保持对客户端/服务器的ping-pong还是我自己必须这样做?

谢谢!

1 个答案:

答案 0 :(得分:0)

值得一提的是,如果有一些网络设备(如防火墙)可能已经关闭了您的连接,请记住连接状态处理协议中没有。所以很可能你有half closed connection

如果您设置了keepAlive选项,请确保它通过网络执行ping。最好的办法是在插座仍然打开的情况下检查连接的两侧。

虽然连接处于活动状态但处于空闲状态(客户端未接收数据),请检查连接是否处于状态ESTABLISHED。并在服务器端执行相同操作。从那里使用诸如Wiresharktrace之类的工具尝试确定连接是否已丢弃在服务器上或是否被防火墙杀死。