首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保持UPnP不返回操作

保持UPnP不返回操作
EN

Stack Overflow用户
提问于 2012-09-12 15:55:07
回答 1查看 2.5K关注 0票数 2

我正在使用安卓的粘附式UPnP框架连接到启用UPnP的设备。我成功地创建了一个设备并浏览了网络中可用的设备。但对于三星电视来说,在网络框架内不退却任何行动。这里,我将添加RenderingControl的服务细节

代码语言:javascript
复制
<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。

代码语言:javascript
复制
> http://<ip address>:52235/dmr/SamsungMRDesc.xml

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

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

而不是

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

这是因为没有为UPnP中的服务显示任何操作,还是因为我做了一些非常愚蠢的事情?

我如何才能正确地使用粘附式UPnP完成这一任务?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-12 19:24:46

只是事先澄清一下: URL是一个设备描述符,而不是您编写的服务描述符,对吗?

<SCPDURL>每个UPnP规范是“相对于设备描述所在的URL”。所以是的,正确的绝对SCPDURL是第二个。但如果真的有如此严重的缺陷,我会非常惊讶。因此,为了提供一些理论:

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

理论4和理论5显然需要一台与电视(和你的Android)连接到同一个网络的PC。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12392087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档