Как работает Bonjour Over Bluetooth - PullRequest
4 голосов
/ 28 июля 2010

Может кто-нибудь объяснить, как Bonjour работает через Bluetooth от iphone OS 3.0 и выше?

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

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

Ответы [ 2 ]

3 голосов
/ 25 ноября 2011

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

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

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

0 голосов
/ 29 июля 2010

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

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

...