【发布时间】:2011-07-12 09:23:07
【问题描述】:
我有一个充当服务器的 java 应用程序和一个充当客户端的 android 手机。它们通过 TCP 套接字进行通信。
我经常让客户端休眠,当它的缓冲区填满时,我希望 wifi 无线电能够进入休眠状态。问题是客户端没有睡觉。我注意到wireshark 说我的服务器大约每半秒发送一次TCP KeepAlive 数据包,因此wifi 无法休眠。我已经在服务器和客户端上尝试了以下操作。
connectionSocket.setKeepAlive(false);
但这似乎没有任何改变。我正在使用wireshark来分析流量。这是wireshark的屏幕截图......黑线表示我的客户在哪里睡觉并且它的接收缓冲区已满。我可以阻止服务器发送keepAlive数据包吗?
谢谢!
【问题讨论】:
-
我看不到你的屏幕截图。
-
"我注意到wireshark说我的服务器大约每半秒发送一个TCP KeepAlive数据包"这是什么平台?每半秒发送一次 TCP KeepAlive 探测似乎非常激进。
标签: java sockets tcp wireshark keep-alive