Ответ 1
Это кажется возможным с помощью API сокетов Chrome mdns-browser, похоже, реализует это, используя указанные API.
Итак, это длинный, я начну с этого.
Можно ли/возможно ли открыть рекламируемые HTTP-службы bonjour только в javascript?
Зачем это полезно? Представьте себе, что местная служба ищет некоторые данные (например, ваш текущий lat/long), данные отображаются через веб-сервис и рекламируются Bonjour Zeroconf. (Удаленный) веб-сайт может захотеть узнать ваш текущий lat/long и вместо того, чтобы знать, что вы используете MyGPSserverVersion2, сайт может использовать javascript для поиска локального bonjour для _Compatible_location_services._tcp
, а затем продолжить, как только у него будет IP-адрес.
Если это невозможно (я думаю, что это, вероятно, случай, Javascript довольно ограничен), то каковы препятствия, и есть ли у кого-нибудь какие-либо идеи относительно того, как их преодолеть?
Это кажется возможным с помощью API сокетов Chrome mdns-browser, похоже, реализует это, используя указанные API.
Короткий ответ нет (по крайней мере, не на платформе Linux).
Забавно, что вы должны спросить: я работаю над тем, чтобы обеспечить такую функциональность в пределах досягаемости веб-браузеров. Одним из моих успехов в этом начинании является плагин NPAPI mDNS для Chrome. Плагин в основном взаимодействует с Avahi ZeroConf (mDNS - многоадресный DNS-сервер).
В настоящее время я работаю над еще одним мостом, чтобы закрыть этот пробел: "легкая" база данных (a la CouchDb), которая будет использоваться настольными приложениями для регистрации своих конечных точек HTTP. Расширения затем будут считывать эти конечные точки из Javascript и иметь возможность напрямую взаимодействовать с рекламируемыми службами.
ОБНОВЛЕНИЕ: Есть надежда через W3C Service Discovery.
Эта библиотека утверждает, что делает это в Javascript: http://quickconnect.sourceforge.net/browser/index.html
Я должен признать, что мне было бы очень интересно, если бы можно было открыть bonjour-сервисы в javascript:)
Я знаю это старый поток. Нашел этот проект github, который позволяет вам открывать (и публиковать) службы с помощью mDNS - https://github.com/watson/bonjour
Выполнение протокола Bonjour/Zeroconf в чистом JavaScript. Публикация служб в локальной сети или обнаружение существующих служб с использованием многоадресной DNS.