2009-12-01 2 views
15

Так что это длинный выстрел, я начну с этого.Bonjour Discovery в Javascript? Может быть?

Возможно ли узнать, что рекламируемые HTTP-услуги bonjour рекламируются только в javascript?

Зачем это полезно? Представьте себе, что местная служба ищет некоторые данные (например, ваш текущий lat/long), данные отображаются через веб-сервис и рекламируются Bonjour Zeroconf. (Удаленный) веб-сайт может захотеть узнать ваш текущий lat/long и вместо того, чтобы знать, что вы работаете MyGPSserverVersion2 сайт может использовать javascript для поиска локального bonjour для _Compatible_location_services._tcp, а затем продолжить, как только у него будет IP-адрес.

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

ответ

3

Это представляется возможным используя Chrome Sockets API, но я только взглянул на беглый взгляд.

mdns-browser, похоже, реализует это, используя указанные API.

+0

API сокетов работает только с хром-приложениями, а не с JS-кодом, запущенным в браузере. –

7

Короткий ответ no (по крайней мере, на платформе Linux).

Забавно, что вы должны спросить: я работаю над тем, чтобы обеспечить такую ​​функциональность в пределах досягаемости веб-браузеров. Один из моих успехов в этом начинании - NPAPI mDNS plugin for Chrome. Плагин в основном взаимодействует с Avahi ZeroConf (mDNS - многоадресный DNS-сервер).

В настоящее время я работаю над еще одним мостом, чтобы закрыть этот пробел: «легкая» база данных (a la CouchDb), которая будет использоваться настольными приложениями для регистрации своих конечных точек HTTP. Расширения будут затем читать эти конечные точки из Javascript и иметь возможность напрямую взаимодействовать с рекламируемыми службами.

ОБНОВЛЕНИЕ: Есть надежда через W3C Service Discovery.

+0

Звучит так, как будто это может быть действительно полезно! Не могли бы вы убедиться в том, чтобы официально оформить услугу? Я полагаю, я мог бы взломать внешнее рубиновое приложение, которое предоставило бы ту же самую услугу в Mac OS - это будет лишний бит, чтобы продолжать работать, но он будет доступен для всех браузеров. –

1

Эта библиотека претензий сделать это в Javascript: http://quickconnect.sourceforge.net/browser/index.html

Я должен признать, что я был бы очень интересно, если это было возможно обнаружить Bonjour услуги в JavaScript :)

+0

Я посмотрел на это, и он по-прежнему использует некоторые Objective-C, чтобы разоблачить функции iOS Bonjour для Javascript. – parsley72

1

Я знаю эту старую нить. Этот проект github, который позволяет вам находить (и публиковать) услуги, используя mDNS - https://github.com/watson/bonjour

Выполнение протокола Bonjour/Zeroconf в чистом JavaScript. Публикация служб в локальной сети или обнаружение существующих служб с использованием многоадресной DNS.

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