Можно ли получать запросы Http асинхронно на Android? - PullRequest
3 голосов
/ 16 марта 2011

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

Дело в том, что сервер использует HTTP для отправки уведомлений .Поэтому мне нужно в моем приложении что-то вроде HTTP-сервера для асинхронной обработки этих запросов (т.е. без какого-либо специального начального запроса).

Есть ли доступное оборудование?Я думаю о создании Socket и слушаю его, но здесь возникает проблема преобразования HTTP из данных Socket.Я уже прочитал некоторые вопросы о StackOverflow , но ни один из них не указывает на ту же проблему напрямую.Или я что-то пропустил?В любом случае, помощь очень приветствуется и ценится.

Ответы [ 5 ]

3 голосов
/ 16 марта 2011

C2D - это хорошо ... но он все еще находится в стадии бета-тестирования, и вы должны принять Google ToS. Я реализовал бы это сам, используя что-то вроде MQTT ... это довольно легко реализовать, быстро, и вы управляете данными: http://tokudu.com/2010/how-to-implement-push-notifications-for-android/

2 голосов
/ 16 марта 2011

Вы должны посмотреть на Cloud2Device Messaging .Я верю, что так работает GTalk.

0 голосов
/ 16 марта 2011

Вы можете использовать PUSH-уведомления или запустить JETTY-сервер на вашем Android.

У меня приложение работает точно так же, работает JETTY-сервер на Android.

0 голосов
/ 16 марта 2011

Есть две опции для обработки соединений в фоновом режиме ...

AsyncTask и Service.

Служба работает как получение текстового сообщения (не требуется постоянного опроса), тогда как AsyncTask будетПостоянно проводите опросы.

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

AsyncTask определенно более разряжен, но, вероятно, будет работать более своевременно и надежно.

0 голосов
/ 16 марта 2011

Попробуйте этот ответ о push-уведомлениях через Облако Android для обмена сообщениями между устройствами .

Не думаю, что вы сможете получать HTTP-запросыили даже что ваш телефон будет иметь стабильный IP-адрес.

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