2

Если два (или более) устройства подключены к одной сети, и каждый из них имеет мой apk, как одно устройство может эффективно «разговаривать» с другим? Службы Google Play, Wifi Direct и Bluetooth, к сожалению, недоступны на этих устройствах.Длительное соединение клиент-сервер между двумя устройствами

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


мне удалось получить два устройства отправки сообщений друг другу, используя старый клиент-сервер Network Discovery Sample приложение в документации. Однако, если какое-либо из приложений закрыто или оставляет память, соединение, очевидно, будет нарушено. Поэтому я пытаюсь выяснить, возможно ли это через Сервис, который, как я понимаю, существует за пределами жизненного цикла Activity.

Я понимаю, как Activity может подключиться к службе для отправки сообщения (good sample on that located here), но из того, что я собираю, все это происходит локально на устройстве. Возможно ли, чтобы этот обмен происходил по локальной сети, из одного приложения в другое? Я предполагаю, что я говорю, как я могу установить базовую связь между сокетами между двумя приложениями, которые не умрут?

ответ

2

Это было долгое время, но оно все равно должно работать. Проблема здесь, как я понимаю, состоит в том, чтобы что-то продолжало работать, когда приложение ушло.

Я помню, используя IntentService для этой цели. В onHandleIntent() мы сделали цикл в то время как (! StopCondition) {...}

Это было стабильное решение, но это было вокруг времени kitkat.

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