23

所以这是一个远射,我会从那个开始。

是否有可能仅在 javascript 中发现 bonjour 广告的 HTTP 服务?

为什么这会有用?想象一个本地服务在处理一些数据(例如您当前的纬度/经度),这些数据通过网络服务公开并由 Bonjour Zeroconf 公布。(远程)网站可能想知道您当前的纬度/经度,而不必知道您正在运行MyGPSserverVersion2,该网站可以使用 javascript 搜索本地 bonjour _Compatible_location_services._tcp,然后在获得 IP 地址后继续。

如果这是不可能的(我认为可能是这种情况,Javascript 相当受限)那么障碍是什么,有没有人对如何克服它们有任何想法?

4

5 回答 5

8

简短的回答是否定的(至少不在 Linux 平台上)。

有趣的是你应该问:我一直在努力将这种功能带到网络浏览器的范围内。我在这项工作中取得的成功之一是用于 Chrome 的 NPAPI mDNS 插件。该插件基本上与 Avahi ZeroConf(mDNS - 多播 DNS 服务器)接口。

我目前正在研究另一个弥合这一差距的桥梁:一个“轻量级”数据库(la CouchDb),桌面应用程序将使用它来注册其 HTTP 端点。然后扩展程序将从 Javascript 中读取这些端点,并能够直接与广告服务进行交互。

更新:通过W3C 服务发现有希望。

于 2009-12-01T19:25:24.020 回答
5

使用 Chrome 的Sockets API似乎可以做到这一点,但我只是粗略地看了一下。

mdns-browser似乎使用上述 API 来实现这一点。

于 2013-03-09T10:32:02.887 回答
0

该库声称可以在 Javascript 中执行此操作:http: //quickconnect.sourceforge.net/browser/index.html

我不得不承认,如果可以在 javascript 中发现 bonjour 服务,我会非常感兴趣 :)

于 2011-04-28T12:56:03.060 回答
0

我知道这是一个旧线程。找到这个 github 项目,它允许您使用 mDNS 发现(和发布)服务 - https://github.com/watson/bonjour

纯 JavaScript 中的 Bonjour/Zeroconf 协议实现。在本地网络上发布服务或使用多播 DNS 发现现有服务。

于 2017-04-13T22:47:37.570 回答
0

这是 watson/bonjour javascript 代码的现代分支。这是在 TypeScript 中的。

https://github.com/onlxltd/bonjour-service

当然,这仅适用于命令行节点应用程序,而不适用于网页。

于 2021-07-23T14:15:35.150 回答