Как определить связанные устройства, чтобы сервер Bluetooth RFCOMM знал, к кому подключаться - PullRequest
0 голосов
/ 15 сентября 2011

У меня есть настройка клиент / сервер RFCOMM на основе примера, найденного по адресу: http://people.csail.mit.edu/albert/bluez-intro/x502.html Я использую стек bluez в системе Linux и пишу код на языке c / c ++.

Похоже, я не могу понять, как я могу ограничить соединения с сервером только с подключенных / сопряженных устройств. Я искал в Google и нашел пустой пример кода, который достиг бы моей цели.

По сути, я собираюсь подключить 2 устройства друг к другу, и связь начнется, но я хочу, чтобы сервер разрешил соединение только с устройства, к которому он подключен. Будет запущено много пар устройств, поэтому эта проверка необходима, чтобы точно знать, какие устройства взаимодействуют друг с другом. Любая попытка подключения, найденная в прослушивающем сокете с устройства, к которому оно не подключено, должна привести к отказу в каком-либо подключении.

В настоящее время не имеет значения, подключено ли устройство, подключенное к серверу, к тому же серверу или нет, так как сервер принимает любое соединение, которое подключается к сокету прослушивания.

По сути, я хочу знать, как определить, к каким устройствам я подключен, если таковые имеются, на клиенте и сервере. Я думал, что протокол Bluetooth справится с этим для меня, но, похоже, я ошибаюсь при выполнении некоторых тестов.

Спасибо всем, кто может помочь!

1 Ответ

0 голосов
/ 15 сентября 2011

Вы можете отключить дальнейшее сопряжение, настроив etc / bluetooth / hcid.conf (установите сопряжение на none).Устройства, которые уже были сопряжены, смогут обмениваться данными с помощью сохраненных ключей ссылок в / var / lib / bluetooth // linkkeys

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