我经常在这个问题上用谷歌搜索,但是对于我到底想做什么到底是否可行仍然有些困惑。
基本上,我试图在我的Web应用程序中添加一个下拉菜单,其中列出了连接到网络的所有设备。当我说设备时,我并不是在谈论所有设备。我说的是我在其中使用实现SSDP的某些硬件设备。我已经创建了可以发送M-SEARCH并成功找到所有设备的Node.js程序,但是我知道Node.js不是浏览器javascript,并且无法在终端上的终端中显示Node调用的输出。浏览器(如果我输入错误,请纠正我)。
在进行了更多研究之后,我意识到在浏览器上进行此类操作时,替代方法是创建某种能够执行SSDP和发送M搜索的Chrome扩展程序,或者使用websocket打开websocket API(对于我的SSDP,这并不特别有用,但我可能错了)。
鉴于我正在尝试做的事情,这些替代方法中的任何一种都有用。我尝试做的事情甚至可能吗?再次,我已经完成了关于该主题的研究,但是我确实没有找到明确的答案。如果可能的话,我将非常感谢与教程的链接,或者只是有关如何完成我想做的工作的一般想法。
我知道我最近在StackOverflow上发布了一些有关此问题的信息,但没有得到任何答复或答复,但是我已经对该主题进行了更多的研究,并且觉得我确实有了更好的理解。话虽这么说,我仍然会对如何解决这个问题感到满意,因为我还没有发现任何有用的在线方法。
感谢您的时间!
最佳答案
据我所知,Chrome扩展程序无法访问sockets.udp API。在Chrome中执行此操作的正确位置可能是Chrome应用程序,因为他们可以执行UDP多播:https://codereview.chromium.org/12684008/。实际上,似乎已经有一个SSDP app ...
不幸的是,Chrome Apps have been deprecated支持普通的Web应用程序(至少在Chrome OS之外),并且您发现您还不能通过普通的Web API进行SSDP。套接字API正在开发中,但是没有告诉他们是否以及何时可以解决允许随机Web应用程序执行诸如加入本地多播组之类的固有安全性问题。
Websocket不太可能提供您所需要的。
关于javascript - 使用SSDP显示网络中的所有设备,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39355042/