繁体   English   中英

UPnP如何运作?

[英]How does UPnP works?

我正在做一个应用程序,它在一个启用upnp的电视机中呈现一个网页。 我已经使用Cling UPnP实现了UPnP现在我不确定如何继续进行。 如何实现电视和设备之间的连接? 它是套接字连接吗? 有任何人有关于这个主题的任何样本或教程,这有助于我实现UPnP流媒体。

我在谷歌上搜索过,但它主要指向谷歌播放中现有的应用程序。 谢谢

好了,所以该服务描述符XML(SCPD)含有<actionList><action> s的它们的参数,其可以是in (到TV)或out (将在电视机的响应于所述动作)。 您需要“调用”该操作,这意味着Cling将其序列化为SOAP RPC并将其作为HTTP请求发送到设备。 在响应中,您将获得调用的总体结果,如使用普通HTTP,200表示正常,500表示错误请求等。每个代码在特定操作调用的上下文中具有特定说明。 响应还将举行out参数作为SCPD规定。

但是当使用像Cling这样的抽象库时,这一切并不是你的兴趣所在。 它会为你做一切。 免责声明:我不熟悉Cling,只是有足够的其他UPnP库来知道在哪里寻找东西。

作为一台电视机,你提到的3项服务无疑将是AVTransportConnectionManagerRenderingControl 因此,为了提供一个简单的例子,它实际上会在电视上做一些可观察的事情,让我们调用RenderingControl.SetVolume 您需要的方法是org.teleal.cling.support.renderingcontrol.callback.SetVolume 我无法帮助您了解获取Service参数的位置,但您应该能够弄明白。

我并不是说你不需要知道UPnP是如何工作的。 抓住UPnP规范捆绑并至少读取DeviceArchitecture pdf是必不可少的。 你肯定需要规范来理解像AVTransport这样的更复杂的服务。 提示:不关心InstanceID和ConnectionID。 除非您连接到非常高级的渲染器(现在的电视不是这样),否则它全部为0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM