2010-08-30 2 views
0

У меня есть приложение, которое использует сокеты для подключения к моему серверу. Много раз приложение «бездействует», когда ему не нужно отправлять информацию обратно и вперед на сервер. Когда это случается, иногда он отключается.определить состояние соединения сокета - android

Как определить, когда розетка отключена, а затем попытаться восстановить соединение?

Я использовал некоторые приложения, которые выполняют именно это, и появится диалоговое окно, которое указывает на «повторное подключение». Я уверен, что смогу закодировать это с помощью какого-то метода «ping», который запускает каждые X секунд, но мне интересно, имеет ли класс сокета что-то, что используется в этих других приложениях?

ответ

1

Вы используете Сервис для обработки этого соединения сокета на своем сервере (это, вероятно, будет хорошей идеей). Если/когда вы находитесь, вы можете создать метод «ping» как поток в вашей службе.

+0

Я не верю, что использую сервис. У меня просто есть класс, который я написал, который создает новый сокет в другом потоке и прослушивает входящие сообщения, которые отправляются в runnable для обновления пользовательского интерфейса в основном действии. Можете ли вы указать мне, как настроить сокет в службе для Android? – Kyle

+0

Посмотрите в документации: http://developer.android.com/reference/android/app/Service.html#WhatIsAService http://developer.android.com/reference/android/app/Service .html – fredley

+0

fredley, я просмотрел документы (хотя и ненадолго), но я смущен тем, что даст мне возможность использовать сокет в сервисе? Вы предлагаете, чтобы это «было бы хорошей идеей» ... купить почему? – Kyle

Смежные вопросы