【问题标题】:DNS-SD on client-side javascript客户端 javascript 上的 DNS-SD
【发布时间】:2020-09-04 13:38:21
【问题描述】:

是否可以使用一些 JS 库在 客户端 端使用 DNS-SD 发现服务(以便发现客户端本地网络上的服务)?我在 npmjs.com 上找到了很多库,但它们都适用于 Node.js,而不适用于客户端 JS。

【问题讨论】:

标签: javascript dns-sd


【解决方案1】:

DNS(历史上)是基于 UDP 的协议。浏览器传统上对网络功能进行沙箱处理,只允许从 JavaScript 代码发送 HTTP 或 HTTPS(即 TCP)请求。所以,简短的回答是

但是,如果您真的需要此功能,您可以研究一下最近获得一些关注的 DNS-over-HTTPS 技术。或者,您可以尝试搜索从浏览器发送 UDP 数据包的方法。我对该领域的知识不多,但 WebAssembly 或 WebRTC 可能已经实现了一些东西。

【讨论】:

  • 我怀疑 DoH 在浏览器中是否有效 - DNS 解析器需要支持 CORS,我无法想象它会如何用于本地服务发现。
【解决方案2】:

在 Chrome 网上应用店中查看sample app

mDNS 浏览器 这是一个重要的示例,它使用 Chrome 打包应用程序中的 UDP 多播支持来浏览 mDNS 服务器。 mDNS 协议通常用于家电设备,例如 Apple 的 Bonjour。在此 Wikipedia 文章中阅读有关 mDNS 协议的更多信息

查看源代码https://github.com/GoogleChrome/chrome-app-samples/tree/master/mdns-browser

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 2012-03-05
    • 1970-01-01
    • 2011-02-16
    • 2013-04-03
    • 2011-02-03
    • 1970-01-01
    相关资源
    最近更新 更多