б) ответ не доставлен на сервер вы видите ошибку - ответ не сохранен.
Когда видим-то? Вот я ввёл ответ. Я хочу знать, сохранился ли он, чтоб поехать на следующий КП и про этот уже забыть. Если не появится ошибки через 2 секунды после окончания ввода - значит, ответ сохранён и сервер именно этот ответ точно не потеряет?)) Или сколько мне ждать? (а таймер обратного отсчёта будет, чтоб случайно за полсекунды до не убрать телефон?) А если вводили с двух устройств с перерывом в минуту?)
ну тут как обычный запрос на севрер. ждем пока выполнится + таймаут есть.
если в течении таймаута получили ответ все ок - то все ок.
если нет (например проблемы с сетью) - то ошибка.
т.е. фактически это нажатие save и ожидание ответа - либо ок либо нет.
Для данного случая таймаут в минуту в принципе должно быть достаточно.
Предлагаемый вами пинг тут не поможет, т.к. при нестабильной сети пинг может пройти, а когда пошлем запрос сигнал сети ухудшится и запрос не уйдет.
А в случае, если запрос не уходит, то как правило таймаут ожидается секунд 10-20. плюс опять же часто пробуют повторить запрос в этом случае.
Т.е. если есть проблема, то ждать секунд 30, а то и 60 это норм.
Можно в это время крутилку оказывать.
Если ввели с двух устройств - то см другое описание:
- первы дошедший ответ сохранен
- второй ответ не сохраняется елси интервал менее (например, минуты) и пользователю показано сообщение (при этом собщение может возникнуть и через час, когда появится сеть)
- второй ответ не сохраняется если интервал более минуты - то смотри опцию про измнение ответа. по умолчанию сохраняем. Но можно отключить возможность и тогда опять же будет предупреждение.