Я пишу приложение для Android 2.2 с поддержкой BT.Два устройства BT должны обмениваться сообщениями.
Проблема, с которой я столкнулся, возникает, когда одно из устройств (сервер) выходит из строя / выключается или каким-либо образом прекращает соединение.Его сокет исчез, и другой участник (клиент) просто не знает, что он должен попытаться повторно подключиться.
Когда первый (сбойный) участник поднимается снова, клиент не знает, что ему следует повторно подключиться и продолжает отправлять сообщения.Сервер заполнен ошибками стека BT, например: E / BTL-IFS_WRAPPER (11222): wrp_find_wsock: wrp_find_wsock неверный hdl -1.
Я понимаю, что сервер BT обнаруживает, что кто-то отправляет сообщенияуже закрытая розетка.
Итак, основной вопрос - как перевести клиент в режим переподключения при сбое сервера?Я вижу только одну возможность использовать двусторонние пакеты "keep alive" каждые несколько секунд и переводить сервер в режим слушателя, а клиент - в режим соединения.