2013-07-11 3 views
3

Мое приложение, основанное на постоянной связи клиент-сервер.Android - постоянное прослушивание гнезда UDP

Я пытаюсь сделать это с помощью службы и будильника.

Я использую while (true) loop в методе onStartCommand(), чтобы продолжать прослушивать определенный порт с помощью DataGramSocket.

Моя проблема в том, что она заряжает батарею.

есть ли лучший способ реализовать постоянное прослушивание UDP (без push-уведомлений)?

Спасибо-х

ответ

0

Это старая нить, но так как я наткнулся на него, глядя ответы на мои собственные вопросы:

Вы не указали, что вы делаете внутри бесконечного цикла.

В принципе, простое вызов DatagramSocket.receive() должен быть эффективным ожиданием на сокете. Пока сокет не имеет каких-либо данных в своем входящем буфере, метод должен блокироваться, не теряя при этом никаких ресурсов. Это вы сделали? Можете ли вы опубликовать код?

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