У меня есть Java-приложение, выполняющее роль сервера, и телефон Android, выступающий в роли клиента.Они общаются через TCP-сокеты.
Я часто сплю клиенту, и когда его буфер заполняется, я хочу, чтобы радио Wi-Fi могло спать.Проблема в том, что клиент не спит.Я заметил, что wireshark говорит, что мой сервер отправляет пакет TCP KeepAlive примерно каждые полсекунды, поэтому Wi-Fi не может спать.Я попробовал следующее на сервере и клиенте.
connectionSocket.setKeepAlive(false);
Но, похоже, это ничего не меняет.Я использую Wireshark для анализа трафика.Вот снимок экрана wireshark ... черные линии показывают, где мой клиент спит, и его буфер приема переполнен.Могу ли я остановить отправку пакетов keepAlive сервером?
Спасибо!