所以它是一个远景,我将从那开始。
是否可以单独在javascript中发现bonjour广告的HTTP服务?
为什么这会有用?想象一下本地服务正在寻找一些数据(例如您当前的纬度/经度),数据通过网络服务公开并由Bonjour Zeroconf做广告。一个(远程)网站可能想知道你当前的纬度/经度,而不是必须知道你正在运行 MyGPSserverVersion2 该网站可以使用javascript搜索当地bonjour _Compatible_location_services._tcp
然后一旦有了IP地址就继续。
如果这是不可能的(我认为可能就是这种情况,Javascript是相当受限制的)那么障碍是什么,有没有人对如何克服它们有任何想法?
答案 0 :(得分:8)
简短的回答是没有(至少在Linux平台上没有)。
有趣的是你应该问:我一直致力于将这种功能带到网络浏览器的范围内。我努力的一个成功是NPAPI mDNS plugin for Chrome。该插件基本上与Avahi ZeroConf (mDNS - 多播DNS服务器)接口。
我目前正在开发另一个桥梁以弥补这一差距:桌面应用程序将使用“轻量级”数据库( a la CouchDb )来注册其HTTP端点。然后,扩展将从Javascript读取这些端点,并能够直接与广告服务进行交互。
更新:希望通过W3C Service Discovery。
答案 1 :(得分:3)
这似乎可以使用Chrome的Sockets API,但我只是粗略看一下。
mdns-browser似乎使用所述API来实现这一点。
答案 2 :(得分:0)
此库声称在Javascript中执行此操作: http://quickconnect.sourceforge.net/browser/index.html
我必须承认,如果有可能在javascript中发现bonjour服务,我会非常感兴趣:)
答案 3 :(得分:0)
我知道这是一个旧线程。 找到这个github项目,它允许您使用mDNS发现(和发布)服务 - https://github.com/watson/bonjour
纯JavaScript中的Bonjour / Zeroconf协议实现。在本地网络上发布服务或使用多播DNS发现现有服务。
答案 4 :(得分:0)
这是 watson/bonjour javascript 代码的现代分支。这是在 TypeScript 中的。
https://github.com/onlxltd/bonjour-service
当然,这只适用于命令行节点应用程序,而不适用于网页。