サーバーとして機能するJavaアプリケーションと、クライアントとして機能するAndroidフォンがあります。それらは TCP ソケットを介して通信しています。
クライアントをスリープ状態にすることがよくあり、そのバッファーがいっぱいになったら、wifi ラジオをスリープ状態にできるようにします。問題は、クライアントが眠っていないことです。Wireshark が、サーバーが約 0.5 秒ごとに TCP キープアライブ パケットを送信しているため、wifi がスリープ状態にならないことに気付きました。サーバーとクライアントで次のことを試しました。
connectionSocket.setKeepAlive(false);
しかし、これは何も変わらないようです。Wireshark を使用してトラフィックを分析しています。これはwiresharkのスクリーンショットです...黒い線は、クライアントがスリープ状態にあり、受信バッファがいっぱいであることを示しています。サーバーが keepAlive パケットを送信するのを止めることはできますか?
ありがとう!