gpt4 book ai didi

java - 坚持 UPnP 不返回操作

转载 作者:行者123 更新时间:2023-11-30 09:32:59 29 4
gpt4 key购买 nike

我正在使用 cling UPnP android 中的框架连接到支持 UPnP 的设备。我成功地创建了一个设备并浏览了网络中的可用设备。但对于三星电视在网络框架内没有任何反应。在这里我添加了 RenderingControl 的服务细节

<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<controlURL>/upnp/control/RenderingControl1</controlURL>
<eventSubURL>/upnp/event/RenderingControl1</eventSubURL>
<SCPDURL>RenderingControl1.xml</SCPDURL>
</service>

这是获取服务描述符xml文件的url

> http://<ip address>:52235/dmr/SamsungMRDesc.xml

但是SCPDURL是相对的,我想知道cling框架是否正在搜索

http://<ip address>:52235/RenderingControl1.xml

代替

http://<ip address>:52235/dmr/RenderingControl1.xml

这是在坚持 UPnP 时没有为服务显示任何操作的原因还是我在做一些非常愚蠢的事情?

如何使用 cling UPnP 正确执行此操作? ?

最佳答案

事先澄清一下:URL *SamsungMRDesc.xml设备描述符,而不是您所写的服务描述符,对吗?

<SCPDURL>每个 UPnP 规范是“相对于设备描述所在的 URL”。所以是的,正确的绝对 SCPDURL 是第二个。但如果 Cling 中真的存在如此严重的错误,我会感到非常惊讶。所以提供一些理论:

  1. “Cling UPnP 中未显示任何操作”是什么意思?那是一些现有的示例应用程序还是您的代码? Cling 本身不提供任何 GUI。该代码中可能存在错误吗?
  2. 您是否完全确定设备描述符 URL (SamsungMRDesc)?是否可以手动访问,即通过简单地将 URL 复制并粘贴到网络浏览器中?
  3. 如果将 SCPDURL 复制并粘贴到网络浏览器中,您会看到什么?有没有一些<action> <actionList> 下的节点?
  4. 您是否尝试使用 DeviceSpy 从 Intel Developer Tools 查询您的三星电视? ?除了 Cling,您还可以看到其他 UPnP 堆栈看到的内容。此外,您可以右键单击设备节点和服务节点,并查看 DeviceSpy 在何处查找描述。
  5. 作为最后一个实例,您可以嗅探使用 Wireshark 来回发送的内容。首先将 Wireshark IP 过滤器设置为三星电视的地址。

理论 4 和 5 显然需要将 PC 连接到与电视(和您的 Android)相同的网络。

关于java - 坚持 UPnP 不返回操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12392087/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com