DLAN的定义是什么

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

  详细规范

  DLNA将其整个应用规定成5个功能组件。从下到上依次为:网络互连,网络协议,媒体传输,设备的发现控制和管理,媒体格式。

  1.网络互连。其规定了所接入网络的类型和协议。目前,主要包括:

  有线网络:802.3.i/u

  无线网络:802.11/a/b/g

  2.网络协议。其规定了所使用的网络协议。目前,其规定必须支持IPv4。但是,考虑到地址空间等IPv4的缺点,将在不久的将来支持IPv6。当然,考虑已经存在的IPv4的诸多应用和设备。在未来的很长一段时间内同时支持IPv4和IPv6并保证IPv4和IPv6的互连的双重协议栈将会受到青睐。

  3.媒体传输。其规定了所有DLNA设备都必须支持使用HTTP协议进行媒体的传输。这将使得未来很长一段时间如何提高HTTP协议上高速安全的进行大数据量的传输成为一个课题。单纯就安全而然,TLS也许是个不错的选择。另外,在IPv6的协议中IPSEC已经成为了一个必选项。这也在一定程度上解决了安全问题。不过好像使用软件做加解密的工作始终都不是个正确的选择。因为,在真正的应用中,很少有客户不对你的速度指手画脚。当然,同时你也可以使用RTP的其他专用的媒体流传输协议。但是,前提是你已经支持了HTTP协议下的传输。

  4.设备的发现,控制和媒体的管理。这个功能组件是最重要的一个层次。也许是由于英特尔是UPnP的发起者吧,所以,在其再次发起DLAN的时候,UPnP所有的东西当然其不会浪费了呀。是不是因为UPnP很长时间停留在协议阶段,很少有应用,IDG是个例外,英特尔才又来发起DLNA的呢,我是不得而知了:)目前,其采用了UPnP Device Architecture 1.0和UPnP AV 1.0 and UPnP Printer:1。这只是UPnP论坛上一堆标准中的冰山一角了。将其UPnP的东西,好像还是蛮多的,这里就不详细讲了。总之,其通过一系列的步骤和协议来达到设备的发现和管理,同时也通过厂商定义的AV和Printer标准达到对媒体的管理。一大堆的概念和名词,下次再介绍了:)

  5.媒体格式。这是最后的一个组件了。其规定了进行数字媒体和内容的共享和使用的时候的媒体格式。其必须支持的是:JPEG, LPCM, MPEG2。其他可选的媒体格式有:

  Image JPEG PNG, GIF, TIFF

  Audio LPCM AAC, AC-3, ATRAC 3plus, MP3, WMA9

  AV MPEG2 MPEG-1, MPEG-4*, AVC, WMV9

时间: 2024-08-16 21:57:21

DLAN的定义是什么的相关文章

宏定义的黑魔法 - 宏菜鸟起飞手册

宏定义在C系开发中可以说占有举足轻重的作用.底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可以说底层开发离开define将寸步难行.而在更高层级进行开发时,我们会将更多的重心放在业务逻辑上,似乎对宏的使用和依赖并不多.但是使用宏定义的好处是不言自明的,在节省工作量的同时,代码可读性大大增加.如果想成为一个能写出漂亮优雅代码的开发者,宏定义绝对是必不可少的技能(虽然宏本身可能并不漂亮优雅XD).但是因为宏定义对于很多人来说,并不像业务逻辑那样是每天会接触的东西.即使是能偶尔使

obj-c中如何定义类的私有实例方法

obj-c原生没有提供此项机制,不像java有private/protected/public方法的概念.obj-c中的@private以及类似的@protected和@public是用于修饰类的实例变量的而不能修饰方法. 正如obj-c没有类变量可以通过定义static静态变量来解决一样,obj-c中类的私有实例方法也是可以通过分类来模拟的.我们可以将分类定义从类的头文件中转移到类的实现文件中来实现: foo.h #import <Foundation/Foundation.h> @inte

innerhtml-无法设置属性“innerHTML”的值: 对象为 null 或未定义

问题描述 无法设置属性"innerHTML"的值: 对象为 null 或未定义 function getdbxx(posturl, paramstr, spanid, inputid) { $.ajax({ type : "post", url : posturl, dataType : 'json', data : 'portletConfigJson=${portletConfigJson}&'+paramstr, success : function(

定义内联元素span的最小高度问题

span这个标签,想必大家都熟悉吧,但有用起来又很麻烦,尤其是需要给它定义宽度和高度的时候   制作html网页经常会使用到span这个标签,但有些朋友对这个标签很多朋友用不好,似乎觉得它又很好用,但有用起来又很麻烦,尤其是需要给它定义宽度和高度的时候.曾经有朋友问:为什么给用css给span定义高度和宽度后,它的宽度和高度仍然没有变化,好像失效了一样? 其实这个问题很简单--先要认清span的属性,因为span属于内联元素,而内联元素是忽略宽度和高度的,明白了这一点解决就很简单了,解决的办法就

C#定义鼠标指针形状

在Windows应用程序中,通过设置控件的Cursor属性可以定义鼠标的显示形状.控件(如Button控件)的Cursor属性用于设置鼠标指针的类型,默认为Default. 语法: public virtual Cursor Cursor { get; set; } 属性值:一个Cursor,表示当鼠标指针位于控件上时显示的光标. Cursor:是一个值,该属性值如表所示. 表 Cursor属性的值 值 说明 AppStarting 获取在应用程序启动时显示的光标 Arrow 获取箭头光标 Cr

连接-TCP通信的数据格式该怎么定义???

问题描述 TCP通信的数据格式该怎么定义??? 请问TCP长连接该怎么定义什么样的数据格式才不会粘包呢?大牛们请指教!谢谢! 解决方案 粘包没关系,只要能正确拆包就行.比如约定: 发送,先发4个字节表述数据的长度,再发数据. 接受,先接受4个取得长度,再按长度读取数据.剩下的就是下个包的. 解决方案二: 自己定义包的结构,里面定义字段定义包的长度等,收到数据后,根据协议解析数据包等

php定义数组和使用示例

 这篇文章主要介绍了php定义数组和使用示例(php数组的定义方法),需要的朋友可以参考下 这个是一个php关于数组的例子,简要的说明了数组的基本使用,示例中加放了注释      代码如下: <?php    //定义一个字符串数组 $fruit = array("apple","orange"); //引用数组的值 $fruit[0];//代表的值是apple $fruit[1];//代表的值是orange //值得注意的是,数组的索引是从0开始的,学过c

c++-Visual C++里面的重复定义

问题描述 Visual C++里面的重复定义 我写的杭电的2025题,还没完全写完,但是遇到了一个问题下面是我写的代码: #include<iostream>#include<string.h>using namespace std;int main(){ char a[101]; while(1){ cin>>a; char max='a'; int end=strlen(a); int t; for(int i=0;i<=end;++i){ if(a[i]&g

电脑串口引脚定义图

电脑串口引脚定义 按序号说明: 1 载波检测(DCD) 2 接受数据(RXD) 3 发出数据(TXD) 4 数据终端准备好(DTR) 5 信号地线(SG) 6 数据准备好(DSR) 7 请求发送(RTS) 8 清除发送(CTS) 9 振铃指示(RI) 此上为计算机串中管脚定义说明.