Запуск сервера Bluetooth

0

Я реализовал сервер Bluetooth в соответствии с примером, приведенным в http://www.codeproject.com/Articles/252882/Bluetooth-Server-Programming-on-Windows. Я немного изменил его для использования AF_BTH, SOCK_STREAM, BTHPROTO_RFCOMM. Он работает нормально. Однако, если я перезагружаю компьютер, программа зависает в accept(). Если я затем разблокирую два устройства, а затем снова их снова подключу, программа работает. Любые подсказки относительно того, почему это происходит.

Теги:
bluetooth

1 ответ

0

Таким образом, программа зависает при принятии, из того, что я знаю, принимаю в windows bluetooth сокетах и других платформах Bluetooth-сокетов, принимают как функции блокирующий асинхронный вызов, он в значительной степени блокирует/замораживает поток, который включен, и ожидает, что клиент подключится, теперь winsock2 обрабатывает одну операцию потока намного лучше, чем другие платформы. Да, я смотрю на вас, но все же программа может стать нестабильной, если произойдет два из этих вызовов, кроме того, парень проверяет только одну ошибку в accept, поэтому попробуйте обратиться к этому полный список ошибок winsock (извлекается winsockgetlasterror()),

также вы можете предоставить клиентский код и больше информации, как на какой платформе, идее, устройствах, которые вы используете?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню