Как работает Bonjour через Bluetooth

Может ли кто-нибудь объяснить, как bonjour работает по bluetooth начиная с iphone OS 3.0?

В документации говорится, что Bonjour API, используемый в приложении, просто работает, даже если Wi-Fi выключен, а Bluetooth включен. Он также говорит, что Bluetooth PAN установлен, и, следовательно, IP-адрес вступает в игру.

Но Bonjour (на основе mdns) для работы требует многоадресной рассылки. Но Bluetooth PAN (пикосеть) работает по концепции ведущий-ведомый. Любые данные, которыми обмениваются одноранговые узлы, должны сначала поступать на мастер, а затем мастер пересылает их всем клиентам. Кроме того, существует ограничение на количество подчиненных устройств в пикосети, т.е. 8. Это означает, что у Bonjour over Bluetooth есть ограничение, что он будет работать максимум для 8 устройств?


person LALITHA C V    schedule 28.07.2010    source источник


Ответы (2)


Судя по всему, это связь PANU с PANU. Так что ограничение на самом деле - общение один на один. Если вы используете Bluetooth Explorer, включенный в Xcode, вы увидите, что устройство iOS представляет службу с идентификатором 0x1115. Поскольку в соединении нет узлов GN или NAP, в соединении могут участвовать только два устройства.

Bluetooth Explorer также показывает различные настраиваемые поля, которые служат для обмена метаданными о соединении. См. мой несколько связанный вопрос для примера объявления службы .

Мне удалось получить эту услугу только при использовании GameKit как на iPhone 3G с 4.2.1, так и на iPad с 5.0.1.

person Ivan Vučica    schedule 25.11.2011

Я ничего не знаю о Boujour и iPhone ... Возможно, Bonjour просто видит сеть TCP / IP и передает на нее многоадресную рассылку - независимо от того, работает ли IP-сеть через Bluetooth, Wi-Fi или FooBar ...

IIRC PAN просто формирует прямую связь с одноранговым узлом PAN и, таким образом, если одноранговый узел является точкой доступа (а не просто другим конечным узлом), он будет обрабатывать многоадресную передачу пакетов.

person alanjmcf    schedule 29.07.2010