2010-12-15 3 views
0

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

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

Как создать такой сокет в библиотеке GPS и в приложении, чтобы они продолжали работать непрерывно? В принципе, я хочу, чтобы сокет в библиотеке GPS в разных потоках, чтобы он никогда не останавливался.

Нетерпеливо жду ваших ответов ....

+0

Что вы пробовали? Или вы ожидаете, что кто-нибудь просто напишет это для вас? –

+0

Обратите внимание, что невозможно гарантировать, что он никогда не останавливается. И проведение wakelock - хороший способ убить батарею. Но даже это не гарантирует, что ваш поток никогда не останавливается, как будто его на заднем плане он может быть убит за ресурсы, а если он находится на переднем плане, его можно убить, когда платформа глупо пытается возобновить фоновый сервис, который он ранее убил за ресурсы и поэтому заканчивается память ... –

+0

Я попытался связаться с сокетами. В конце Java я попытался DataOutputStream.writeUTF и на конце C, я получал поток, используя recv(). Возвращаемое значение для recv является положительным целым числом, но буфер всегда пуст !!! – webgenius

ответ

-1

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

также, если вам нужно запустить специальный код в другой теме внутри вашего основного приложения, используйте новый Runnable(), он запускает тот же код, который вы вставляете туда, но в отдельный поток.

+0

Услуги не запускаются в отдельной теме. Они работают на другой поток, чем другие процессы, но если вы заблокируете основной поток, вы получите ANR. – Falmarri

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