У меня есть приложение, в котором несколько клиентских планшетов отправляют изображения на планшет сервера по TCP.Были в финальной стадии тестирования, и все, казалось, работало нормально, пока я не попробовал, что произойдет, если я отключусь от Wi-Fi с помощью планшетного компьютера.
Клиенты все еще пытаются отправить изображение, которое связано сTCP-клиент не имеет представления о том, что соединение оборвалось на стороне сервера.Нет проблем.
Итак, у меня есть объект outputteam (os2), который находится здесь:
os2.writeObject (messagebody);
для 16 (!!!) за несколько минут до истечения времени ожидания.
Сделали поиск и нашли это в stackoverflow: ObjectOutputStream IOException / timeout на Android
Вы можете 'т.TCP не говорит вам.Это не знает.Он занят буферизацией и повторной попыткой. Время истекает , и если вы сделаете запись после этого, вы получите исключение. Нет никакого контроля над тем, сколько времени это займет.
Это то, что я думаю?Эти 16 минут, которые я должен принять, и я ничего не могу поделать?Есть ли какой-либо параметр, который можно использовать для установки времени ожидания объекта записи меньше?Или какая-либо техника программирования, которая используется для этих случаев?