Javascript 如何在typescript中通过ssdp发送http请求

Javascript 如何在typescript中通过ssdp发送http请求,javascript,angular,typescript,ssdp,Javascript,Angular,Typescript,Ssdp,我将学习本教程: …尝试通过ssdp/http get获取设备列表 let query:string=“M-SEARCH*HTTP/1.1\r\n”+ “主机:239.255.255.250:1900\r\n”+ “男子:\“ssdp:发现\”\r\n”+ “ST:roku:ecp\r\n\r\n”; 这是http .get(查询) .map(res=>res.json()) .订阅( (数据)=>this.devices=数据, (err)=>this.error=err)SSDP使用HTT

我将学习本教程: …尝试通过ssdp/http get获取设备列表

let query:string=“M-SEARCH*HTTP/1.1\r\n”+
“主机:239.255.255.250:1900\r\n”+
“男子:\“ssdp:发现\”\r\n”+
“ST:roku:ecp\r\n\r\n”;
这是http
.get(查询)
.map(res=>res.json())
.订阅(
(数据)=>this.devices=数据,

(err)=>this.error=err)SSDP使用HTTPU或UDP上的HTTP。节点的HTTP客户端仅通过TCP发送数据。您需要使用udp套接字手动发送此消息并侦听数据,或者使用预先存在的库,如。

谢谢。您是否使用了节点ssdp?我在项目中设置和运行它时遇到问题:TS属性“Client”在类型“{}”上不存在。看起来节点ssdp是一个死胡同,因为它依赖于dgram(不再存在)。我想,我将不得不研究udp套接字。这看起来很有希望!今晚我会去看看。再次感谢你的回复和想法。我还在学习这个客户端开发,我发现如果没有额外的配置,一些节点模块将无法在浏览器中工作。例如,node roku包只在node.js服务器上运行(不在chrome内部)。这对其他人来说可能是显而易见的,但这是我没有考虑到的。我将把您的答案标记为解决方案,因为它是正确的。根据您所追求的解决方案,您可能能够构建一个小型express服务器,将
节点.js
仅模块代理到您的浏览器。因此,您将在node中构建roku集成,然后在chrome中提供一个web界面来控制网络上的roku设备。另一种选择是使用
electron
,因为它基本上是一个具有两种执行环境的浏览器。