Время ожидания записи TCP составляет 16 минут, вау - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть приложение, в котором несколько клиентских планшетов отправляют изображения на планшет сервера по TCP.Были в финальной стадии тестирования, и все, казалось, работало нормально, пока я не попробовал, что произойдет, если я отключусь от Wi-Fi с помощью планшетного компьютера.

Клиенты все еще пытаются отправить изображение, которое связано сTCP-клиент не имеет представления о том, что соединение оборвалось на стороне сервера.Нет проблем.

Итак, у меня есть объект outputteam (os2), который находится здесь:

os2.writeObject (messagebody);

для 16 (!!!) за несколько минут до истечения времени ожидания.

Сделали поиск и нашли это в stackoverflow: ObjectOutputStream IOException / timeout на Android

Вы можете 'т.TCP не говорит вам.Это не знает.Он занят буферизацией и повторной попыткой. Время истекает , и если вы сделаете запись после этого, вы получите исключение. Нет никакого контроля над тем, сколько времени это займет.

Это то, что я думаю?Эти 16 минут, которые я должен принять, и я ничего не могу поделать?Есть ли какой-либо параметр, который можно использовать для установки времени ожидания объекта записи меньше?Или какая-либо техника программирования, которая используется для этих случаев?

...