Сброс соединения из сокета TCP в сервисе Android - PullRequest
1 голос
/ 22 ноября 2011

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

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

1 Ответ

1 голос
/ 08 декабря 2011

У меня та же проблема, и сервер также получает RST, когда он отправляет пакет ping на телефон Android после нескольких минут сна телефона.

Я думаю, что пост ниже может ответить на некоторые вопросы: http://groups.google.com/group/android-developers/browse_thread/thread/8a611b2aeaa4d620

Какой сетью вы пользуетесь (телефонная сеть или WIFI)?

Мой телефон подключен через сеть EDGE.Я заставил сервер отправлять сообщения каждые 6 минут, и сервер всегда получал RST по истечении первых 6 минут, но 5 минут будут поддерживать соединение живым.И я также пытался разрешить серверу отправлять сообщения каждые 2 минуты (экран телефона выключен), соединение может сохраняться в течение длительного времени (я проверял в течение одного часа и более).

Затем я сохраняю телефонвключил экран (он не будет спать) и попробовал снова, но через 6 минут соединение было разорвано снова (сервер получил RST), поэтому кажется, что сон Android не является причиной RST.

На основании моих тестовЯ думаю мой продавец телефонной сети убивает эти длительные соединения , которые простаивают не менее 6 минут, и отправляют RST на телефон и сервер.Так что это может не иметь никакого отношения к сну телефона .

Я не тестировался в других сетях, пожалуйста, сообщите мне результаты, если вы это сделаете.

...