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
通用即插即用(英语:Universal Plug and Play,简称UPnP)是由“通用即插即用论坛”(UPnP™ Forum)推广的一套网络协议。该协议的目标是使家庭网络(数据共享、通讯和娱乐)和公司网络中的各类设备可以相互无缝链接,并简化相关网络的实现。UPnP经过定义和发布基于开放、因特网通信网协议标准的UPnP设备控制协议来实现这一目标。web
UPnP这个概念是从即插即用(Plug-and-play)派生而来的,即插即用是一种热拔插技术。浏览器
协议栈服务器
UPnP设备体系结构包含了设备之间、控制点之间、设备和控制点之间的通讯。完整的UPnP由设备寻址、设备发现、设备描述、设备控制、事件通知和基于Html的描述界面几部分构成。网络
设备架构
设备是提供服务的网路实体,是一个逻辑概念,一个屋里设备能够包含一个或者多个逻辑设备。例如一台PC能够有两个逻辑设备———视频播放器和图片浏览器。框架
服务分布式
服务是UPnP中最小的可控单元,它包括一系列可控制而动做和一组记录该服务目前状况的状态。服务是依赖于设备存在的。ide
控制点
控制UPnP设备工做的网络终端,主要功能包括获取设备描述和相关服务列表;获取感兴趣的服务描述;发出控制消息控制设备动做;向感兴趣的服务发出订阅消息,以便当服务状态改变时,自动得到时间通知。
一些术语
UUID含义是通用惟一识别码(Universally Unique Identifier),其目的是让分布式系统中的全部元素,都有惟一的辨识资讯,而不须要透过中央控制端来作辨识资讯的指定。其格式为xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),分别为当前日期和时间,时钟序列,全局惟一的IEEE机器识别号,若是有网卡,从网卡mac地址得到,没有网卡以其余方式得到。
单一设备名(Unique Device Name),基于UUID,表示一个设备。在不一样的时间,对于同一个设备此值应该是惟一的。
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是URI命名机制的一个子集,URL是Uniform Resource Location的缩写,译为“统一资源定位符”。通俗地说,URL是Internet上用来描述信息资源的字符串,主要用在各类www客户程序和服务器程序上。采用URL能够用一种统一的格式来描述各类信息资源,包括文件、服务器的地址和目录等。
URN:URL的一种更新形式,统一资源名称(URN,Uniform Resource Name)。惟一标识一个实体的标识符,可是不能给出实体的位置。标识持久性Internet资源。URN能够提供一种机制,用于查找和检索定义特定命名空间的架构文件。尽管普通的URL能够提供相似的功能,可是在这方面,URN 更增强大而且更容易管理,由于 URN 能够引用多个 URL。
UPnP设备的发现和控制分为6个步骤:寻址、发现、描述、控制、事件及展示。
这三点分别在后面的三篇文章中进行介绍。
总体工做流程以下: