Http-запрос отладки ответа - PullRequest
0 голосов
/ 10 января 2010

У меня есть два телефона, подключенных к точке доступа Wi-Fi, оба имеют IP в частном диапазоне. На одном из телефонов работает HTTP-сервер, а другой работает как клиент. Клиент отправляет данные запросов GET на сервер как имя / пары значений в строке запроса URL. На данный момент сервер отправляет только HTTP.OK при получении строки запроса.

Что происходит, так это то, что клиент может быть не неподвижен и, возможно, перемещаться, поэтому он может не всегда находиться в зоне доступа Wifi Дело в том, что я не получаю все данные, отправленные с клиента на стороне сервера. Я хочу убедиться, что все отправленные данные фактически получены сервером.

Какое исправление ошибок я должен осуществить? Могу ли я проверить наличие соответствующих кодов ошибок HTTP и т. П.

Ответы [ 3 ]

1 голос
/ 10 января 2010

Если HTTP-сервер не получает всю строку запроса в GET-запросе, то HTTP-запрос не может быть действительным, поскольку эти параметры находятся в первой строке запроса.

Сервер не сможет обработать запрос и в этом случае, скорее всего, вернет код состояния 400 (неверный запрос).

Если ваш клиент получит это (что маловероятно, что он не сможет передать запрос, но получит ответ), вы будете знать, что нужно повторить передачу. В общем, свойства TCP-соединений, такие как автоматические повторные передачи, контрольные суммы и тайм-ауты, должны быть всем, что вам нужно для успешной доставки или для определения ошибки.

1 голос
/ 11 января 2010

Преждевременная оптимизация.

Целостность соединения уже рассматривается в нижних частях сетевого стека. Таким образом, если бы были какие-либо пропуски в середине запроса (при условии, что он занимал более одного пакета), стек TCP попытался бы восстановить их перед передачей данных на сервер.

Если вам нужно доказать это себе, просто добавьте контрольную сумму в качестве последней части запроса.

C.

1 голос
/ 10 января 2010

Вам необходимо проверить время ожидания на клиенте. Это зависит от используемого процесса / языка.

РЕДАКТИРОВАТЬ: http://wiki.forum.nokia.com/index.php/Using_Http_and_Https_in_Java_ME

Похоже, вы просто установили таймаут и перехватили ошибки ввода-вывода.

...