2014-01-28 2 views
3

Я создаю приложение, которое необходимо подключить к версиям, которые запускаются на других устройствах в сети Wi-Fi. Цель состоит в том, чтобы установить связь между каналом и клиентом между другими устройствами.Открытие устройства iOS без Bonjour

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

Если я запускаю веб-сервер на вещательном устройстве на определенном порту, например 43231 или что-то еще, приемлемо ли для клиентского устройства получать его собственный IP-адрес, а затем сканировать этот диапазон блоков для вещателя? Есть ли что-то плохое в том, что нужно пинговать все другие случайные устройства в сети с таким запросом?

Как и в, Транслятор 192.168.1.11. Клиент - 192.168.1.4. Если клиент предполагает, что все устройства находятся в блоке 192.168.1. *, Может ли он просто перебирать строку с 1-100 или около того для поиска вещателя?

Если этот метод сумасшедший, что мне делать?

ответ

1

Вы можете использовать SSDP (используемый UPnP) или просто multicast сообщение по сети и прислушиваться к нему в то же самое время, не обращая внимания на обратную петлю (если вы не хотите, чтобы отправитель получить свои собственные сообщения).

+0

Интересно. Поскольку я сохраняю пассивный канал до начала событий, я могу на самом деле многоадресной рассылки от клиентов, чтобы «зарегистрировать» их. – UltimateBrent

+0

Да, я использую этот подход для приложения, похожего на AirDrop от Apples, и он работает очень хорошо. –

1

Может быть, лучше использовать технологию Bluetooth Low Energy для трансляции/открытия? Вы можете отправлять несемлемые рекламные пакеты на сервер (с его IP-адресом) и слушать их на всех других устройствах. Устройство обнаруживает такой пакет, считывает IP-адрес и подключается к нему через NSURLConnection (или что-то в этом роде).

+0

Какой диапазон? – UltimateBrent

+0

До 50 метров в теории, но по моему опыту вы можете ожидать хорошие результаты в радиусе 15-20 м. – igoris

Смежные вопросы