问题标签 [ssdp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1709 浏览

python - 简单的设备发现和 Web 服务

我有一个运行 Linux 的自定义嵌入式硬件设备,由 Python 代码控制。我想创建一个 Android 客户端,它会自动在本地网络上查找我的任何设备、配置设备并显示来自它们的数据。

我想让我的实现尽可能简单,并利用尽可能多的开源软件来快速实现(强烈倾向于积极维护/支持代码)。

到目前为止,我的研究使我倾向于使用UPnP实现,使用SSDP查找我的设备并让 UPnP在我的 Android 客户端和 Python 控制的 Linux 设备之间通过SOAP进行通信。

  1. UPnP 是这个用例的好选择吗(我不是传统的 UPNP 设备)?还是我应该考虑其他基于标准的方法?
  2. 假设 UPnP 是合理的:
    • (a) 在 Android 和我的 Python/Linux 设备上使用哪些合理的库?
    • (b) 我应该实现一个自定义的 UPNP“设备”,还是应该尝试将我的解决方案硬塞到看起来像一个 MediaServer?

目前,我正在尝试在Android 端使用Cling并在 Python 端使用Coherence来实现,这两者都没有我希望的那么简单,这让我想知道我是否采取了一种聪明的方法。

0 投票
1 回答
1910 浏览

c# - SSDP 多播 缺少来自 M-SEARCH 的答案 - 发现 - UPnP

我正在尝试从我的网络中的 UPnP 设备接收 UPnP 通知消息。但是当我发送 M-SEARCH 消息时,有时我没有得到任何答案。我的代码如下所示:

我找到了以下答案,但对我来说无法更改端口。有替代解决方案吗?

UPnP 组播

0 投票
1 回答
1309 浏览

python-2.7 - 在所有网络接口上发送 m-search 数据包

我正在实现一个代码,通过它我必须让设备连接到我机器上的所有网络接口。

为此,我首先获取所有网络接口的 ip,然后在它们上发送 m-search 命令。

2.5 秒后端口停止监听。

但它给了我一些断言错误。

Code:

Error:

请告诉这段代码有什么问题以及如何纠正这个问题。

同样在 linux 机器上,如果在网络上找不到设备,那么它不会去 stopMsearch() 为什么?

0 投票
0 回答
234 浏览

python-2.7 - 搜索所有网络上的设备

我想实现一个代码,通过它我可以列出网络上连接的符合 upnp 的媒体渲染器设备。我搜索了这个并在扭曲的网站上找到了以下代码

当我的机器上连接了 2 个网络(以太网和 wifi)时,它只列出了一个网络的设备。

code

如何搜索多个网络的设备?

0 投票
1 回答
5052 浏览

vb.net - How can i send a SSDP / UPNP packet and get response?

Hey guys well i'm working on a project.

Basically i need to be able to retrieve result of a SSDP packet to find the IP of my Pioneer VSX AVR. It responds to SSDP to be used with the official apps and i am working on a windows application to do the same sort off thing.

Source: http://github.com/cyanlabs/vsxremote

What i know so far...

  1. the packet need to be sent to the ip 239.255.255.250

  2. The port is 1900 and the AVR responds to Telnet/TCP on 23/8102

  3. The description.xml is located at 192.168.0.111:8080/description.xml

  4. I tried to figure this code out but it didn't seem to work. http://social.msdn.microsoft.com/Forums/vstudio/en-US/d7f53b79-80dc-46f7-96dd-fc3b7a28f8d4

  5. The request i need to send is

    /li>

Any help would be great. Thanks.

0 投票
2 回答
871 浏览

chromecast - Chromecast android 应用程序未发现自定义接收器

我编写了一个 java chromecast 接收器应用程序,它接受 M-SEARCH 广播消息并以 HTTP/1.1 200 消息响应。发送响应后,Android 应用程序还会调用 device-desc.xml 文件。但 android 应用程序不显示接收者名称。但是 Fling 应用程序(https://github.com/entertailion/Fling)能够毫无问题地发现接收器。

任何帮助将不胜感激。

来自 Chromecast 安卓应用的请求

来自 JAVA 接收器应用程序的响应

托管在 8008 上的 device-desc.xml

0 投票
1 回答
90 浏览

java - 有没有办法使用 ssdp 获取网络中所有可用服务的 ip?

我正在尝试创建一个使用 SSDP 的 java 程序来获取连接到服务器的系统的 IP 列表。可能吗?如果有谁能告诉我方法?因为根据我的阅读,他们刚刚提到我们可以通过网络找到特定服务,而不是所有服务。

提前致谢

0 投票
1 回答
1974 浏览

java - 哪些设备正在回复 SSDP 发现数据报

我创建了一个简单的 Android 应用程序来扫描我的本地网络;我在这个搜索目标上使用了 M-SEARCH:

我只需要照顾网络上的电视,所以:

  • 我怎么能从 M-SEARCH 响应中知道哪种设备正在回复?

  • 有没有可以匹配所有电视设备的搜索目标?

谢谢!

0 投票
1 回答
2547 浏览

android - chromecast 如何连接其他设备?

Chromecast 之类的设备如何在不连接到同一本地网络的情况下被其他设备发现。我知道 ssdp、dial 和 mdns 等协议,但所有这些协议都要求您连接到同一个本地网络。

例如,当您插入 chromecast 并开始初始设置时,您会以某种方式使用另一台设备(mac、android、iphone)连接到该 chromecast。连接到该 chromecast 后,您就可以开始填写 wifi 凭据,以便将 chromecast 连接到网络。一旦 chromecast 连接到 wifi,您就可以轻松使用上述任何协议。

所以我的问题是,如何在 chromecast 不知道本地网络的情况下使用另一台设备连接到 chromecast?

0 投票
1 回答
5167 浏览

ios - 在 Swift 中使用 CocoaAsyncSocket 接收 SSDP 响应

我正在尝试使用库 CocoaAsyncSocket ( https://github.com/robbiehanson/CocoaAsyncSocket )快速接收 SSDP 响应

我可以成功地将 M-Search 命令发送到多播组并得到响应,我查看了 wireshark(http://i.imgur.com/pn6LB7R.png):我可以看到 M-Search 数据包正在发送出来并返回响应,但我从未在我的应用程序中收到 NSData。(顺便说一句,我现在正在寻找一个 Roku)

我已经实现了 GCDAsyncUdpSocketDelegate 委托并添加了 didReceiveData 函数,但是我从来没有得到数据。

我怀疑这部分有问题:

请看下面的示例代码: