【发布时间】:2020-09-04 13:38:21
【问题描述】:
是否可以使用一些 JS 库在 客户端 端使用 DNS-SD 发现服务(以便发现客户端本地网络上的服务)?我在 npmjs.com 上找到了很多库,但它们都适用于 Node.js,而不适用于客户端 JS。
【问题讨论】:
-
Not any longer,没有。
标签: javascript dns-sd
是否可以使用一些 JS 库在 客户端 端使用 DNS-SD 发现服务(以便发现客户端本地网络上的服务)?我在 npmjs.com 上找到了很多库,但它们都适用于 Node.js,而不适用于客户端 JS。
【问题讨论】:
标签: javascript dns-sd
DNS(历史上)是基于 UDP 的协议。浏览器传统上对网络功能进行沙箱处理,只允许从 JavaScript 代码发送 HTTP 或 HTTPS(即 TCP)请求。所以,简短的回答是否。
但是,如果您真的需要此功能,您可以研究一下最近获得一些关注的 DNS-over-HTTPS 技术。或者,您可以尝试搜索从浏览器发送 UDP 数据包的方法。我对该领域的知识不多,但 WebAssembly 或 WebRTC 可能已经实现了一些东西。
【讨论】:
在 Chrome 网上应用店中查看sample app。
mDNS 浏览器 这是一个重要的示例,它使用 Chrome 打包应用程序中的 UDP 多播支持来浏览 mDNS 服务器。 mDNS 协议通常用于家电设备,例如 Apple 的 Bonjour。在此 Wikipedia 文章中阅读有关 mDNS 协议的更多信息
查看源代码https://github.com/GoogleChrome/chrome-app-samples/tree/master/mdns-browser
【讨论】: