Android BluetoothSocket.connect () возвращает, но противоположный вызов Accept () не - PullRequest
1 голос
/ 11 ноября 2011

Я пытаюсь заставить работать API-интерфейсы Bluetooth для Android и столкнулся со странной проблемой. У меня есть одно устройство (Samsung Nexus S) в качестве клиента, вызывающее socket.connect (), а другое устройство (также Samsung Nexus S), вызывающее serverSocket.accept () (после обнаружения устройства создаю сокеты с помощью createInsecureRfcommSocketToServiceRecord и listenInsecure. ..).

Я помещаю отладочные операторы после connect (), и я вижу, что connect () успешно возвращается (потому что это вызовет исключение, если это не так). Тем не менее, вызов accept () на другом конце просто блокирует, и в конечном итоге время ожидания.

Есть идеи, что может вызвать это? Насколько я могу судить, сокет подключается, но мой процесс не информируется.

UPDATE:

Проявление ошибки было немного загадочным, но я вполне уверен, что я неправильно обрабатывал потоки, и это каким-то образом препятствовало разблокировке запущенного потока accept ().

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