Bluetooth на Android 2.2: гнездо не получает «соединение прервано» - PullRequest
0 голосов
/ 26 сентября 2011

Я пишу приложение для Android 2.2 с поддержкой BT.Два устройства BT должны обмениваться сообщениями.

Проблема, с которой я столкнулся, возникает, когда одно из устройств (сервер) выходит из строя / выключается или каким-либо образом прекращает соединение.Его сокет исчез, и другой участник (клиент) просто не знает, что он должен попытаться повторно подключиться.

Когда первый (сбойный) участник поднимается снова, клиент не знает, что ему следует повторно подключиться и продолжает отправлять сообщения.Сервер заполнен ошибками стека BT, например: E / BTL-IFS_WRAPPER (11222): wrp_find_wsock: wrp_find_wsock неверный hdl -1.

Я понимаю, что сервер BT обнаруживает, что кто-то отправляет сообщенияуже закрытая розетка.

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

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