手机投屏技术原理

基础概念

DLNA

DLNA的全称是DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟), 其宗旨是Enjoy your music, photos and videos, anywhere anytime, DLNA(Digital Living Network Alliance) 由索尼、英特尔、微软等发起成立、旨在解决我的PC,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增加成为可能,目前成员公司已达280多家。html

DLNA标准包括多项协议及标准,其中最重要的部分是UPnP。对于咱们目前的需求UPnP就能知足所有要求。git

UPnP

通用即插即用(英语:Universal Plug and Play,简称UPnP)是由“通用即插即用论坛”(UPnP™ Forum)推广的一套网络协议。该协议的目标是使家庭网络(数据共享、通讯和娱乐)和公司网络中的各类设备可以相互无缝链接,并简化相关网络的实现。UPnP经过定义和发布基于开放、因特网通信网协议标准的UPnP设备控制协议来实现这一目标。web

UPnP这个概念是从即插即用(Plug-and-play)派生而来的,即插即用是一种热拔插技术。浏览器

协议栈服务器

UPnP设备体系结构包含了设备之间、控制点之间、设备和控制点之间的通讯。完整的UPnP由设备寻址、设备发现、设备描述、设备控制、事件通知和基于Html的描述界面几部分构成。网络

UPnP协议栈

  1. UPnP是一个多层协议构成的框架体系,每一层都以相邻的下层为基础,同时又是相邻上层的基础。直至达到应用层为止。该图中的最下面是就是IP和TCP,共两层,负责设备的IP地址。
  2. 三层是HTTP、HTTPU、HTTPMU,这一层,属于传送协议层。传送的是内容都通过“封装”后,存放在特定的XML文件中的。对应的SSDP、GENA、SOAP指的是保存在XML文件中的数据格式。到这一层,已经解决了UPnP设备的IP地址和传送信息问题。
  3. 第四层是UPnP设备体系定义,仅仅是一个抽象的、公用的设备模型。任何UPnP设备都必须使用这一层。
  4. 第五层是UPnP论坛的各个专业委员会的设备定义层,在这个论坛中,不一样电器设备由不一样的专业委员会定义,例如:电视委员会只负责定义网络电视设备部分,空调器委员会只负责定义网络空调设备部分,依此类推。全部的不一样类型的设备都被定义成一个专门的架构或者模板,供创建设备的时候使用。能够推知,进入这一层,设备已经被指定了明确用途。固然,这些都必须遵照标准化的规范。从目前看,UPnP已经能够支持大部分的设备:从电脑、电脑外设,移动设备和家用消费类电子设备等等,无所不包,随着这个体系的普及,将可能有更多的厂家认可这一标准,最终,可能演化为公认的行业标准。
  5. 最上层,也就是应用层,由UPnP设备制造厂商定义的部分。这一层的信息是由设备制造厂商来“填充” 的,这部分通常有设备厂商提供的、对设备控制和操做的底层代码,而后,就是名称序列号呀,厂商信息之类的东西。

设备架构

设备是提供服务的网路实体,是一个逻辑概念,一个屋里设备能够包含一个或者多个逻辑设备。例如一台PC能够有两个逻辑设备———视频播放器和图片浏览器。框架

服务分布式

服务是UPnP中最小的可控单元,它包括一系列可控制而动做和一组记录该服务目前状况的状态。服务是依赖于设备存在的。ide

控制点

控制UPnP设备工做的网络终端,主要功能包括获取设备描述和相关服务列表;获取感兴趣的服务描述;发出控制消息控制设备动做;向感兴趣的服务发出订阅消息,以便当服务状态改变时,自动得到时间通知。

UPnP组件

一些术语

  • UUID

UUID含义是通用惟一识别码(Universally Unique Identifier),其目的是让分布式系统中的全部元素,都有惟一的辨识资讯,而不须要透过中央控制端来作辨识资讯的指定。其格式为xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),分别为当前日期和时间,时钟序列,全局惟一的IEEE机器识别号,若是有网卡,从网卡mac地址得到,没有网卡以其余方式得到。

  • UDN

单一设备名(Unique Device Name),基于UUID,表示一个设备。在不一样的时间,对于同一个设备此值应该是惟一的。

  • URI

Web上可用的每种资源 - HTML文档、图像、视频片断、程序等 - 由一个通用资源标志符(Universal Resource Identifier,简称”URI”)进行定位。 URI通常由三部分组成:访问资源的命名机制;存放资源的主机名;资源自身的名称,由路径表示。考虑下面的URI,它表示了当前的HTML 4.0规范:http://www.webmonkey.com.cn/html/html40/它表示一个可经过HTTP协议访问的资源,位于主机www.webmonkey.com.cn上,经过路径/html/html40访问。

  • URL

URL是URI命名机制的一个子集,URL是Uniform Resource Location的缩写,译为“统一资源定位符”。通俗地说,URL是Internet上用来描述信息资源的字符串,主要用在各类www客户程序和服务器程序上。采用URL能够用一种统一的格式来描述各类信息资源,包括文件、服务器的地址和目录等。

  • URN

URN:URL的一种更新形式,统一资源名称(URN,Uniform Resource Name)。惟一标识一个实体的标识符,可是不能给出实体的位置。标识持久性Internet资源。URN能够提供一种机制,用于查找和检索定义特定命名空间的架构文件。尽管普通的URL能够提供相似的功能,可是在这方面,URN 更增强大而且更容易管理,由于 URN 能够引用多个 URL。

实现

工做机制

UPnP设备的发现和控制分为6个步骤:寻址、发现、描述、控制、事件及展示。

UPnP工做机制

这三点分别在后面的三篇文章中进行介绍。

总体流程

总体工做流程以下:

UPnP总体工做流程

相关文章
相关标签/搜索