DLNA协议分析

DLNA基于UPNP协议,整个通信过程使用了SSDP和HTTP协议。

通信过程:

  1. 控制点查找设备,广播ssdp discover请求

  2. 设备返回响应,告知控制点设备的URI。以Windows Media Player为例,会返回两个设备,分别是

  3. 控制点收到ssdp响应后,立即访问设备URI,设备返回XML格式的描述文件。拉取XML文件的请求都是HTTP GET,建立的HTTP连接都是长连接(Keep-Alive)。描述文件包含设备的信息和提供的服务

从返回的XML可知,设备1是PC,设备类型是MediaServer。设备2是wmp,其类型是MediaRenderer,该设备提供的service有DLNA投射需要的两个服务

其中,serviceList节点描述了设备提供的服务,每个子节点service描述一个服务,service中的controlURL用于发送控制指令,SCPDURL用于拉取服务信息。

  4. 控制点按照设备返回的service信息,调用相应URL,实现对设备控制。控制请求都是POST,协议格式是HTTP+SOAP。以DLNA投射为例

返回的响应同样是HTTP+SOAP

posted @ 2015-11-08 18:25  lych2e  阅读(2062)  评论(0编辑  收藏  举报