基于intel upnp sdk 的upnp 协议编程

基于intel upnp sdk 的upnp 协议编程

ID:9877650

大小:67.00 KB

页数:4页

时间:2018-05-13

基于intel upnp sdk 的upnp 协议编程_第1页
基于intel upnp sdk 的upnp 协议编程_第2页
基于intel upnp sdk 的upnp 协议编程_第3页
基于intel upnp sdk 的upnp 协议编程_第4页
资源描述:

《基于intel upnp sdk 的upnp 协议编程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、文章编号:1009-8119(2005)07-0044-02基于IntelUPnPSDK的UPnP协议编程王增军(北京理工大学计算机科学工程系,北京100081)摘要简单介绍了IntelUPnP开发包并以媒体服务器为例介绍了基于其上的UPnP协议编程。关键词UPnP,IntelSDK,MediaServerIntelUPnPSDKBasedUPnPProgrammingWangZengjun(DepartmentofComputerScienceandTechnology,BeijingInstituteofTechnology,Beijing100

2、081)AbstractAsimpleintroductiontoIntel®SDKforUPnP™DevicesforLinuxandanexampleofUPnPMediaServerdevelopedbasedontheSDK.KeywordsUPnP,IntelSDK,MediaServer1UPnP简介UPnP(通用即插即用UniversalPlugandPlay)是Microsoft对单机环境下即插即用技术概念在网络环境中的扩展。UPnP支持零配置网络及自动查找功能,这样一来,设备即可动态加入网络,获取IP地址,宣布自己的名称,根据需要提

3、供功能,并了解其它设备的存在和功能。此外,设备还可自动平稳地脱离网络,而不会遗留任何不必要的状态。UPnP不依赖于特定的操作系统、编程语言或物理媒体。UPnP面向家庭网络、小型企业和商住楼中的网络。正如Microsoft公司所称,“UPnP将延伸到家庭中的每一个设备,它会成为个人电脑、应用程序、智能设备集成工作所必需的框架、协议和接口标准”。UPnP最基本的概念模型是设备模型,设备可以是物理的设备,也可以是逻辑的设备。设备分为两种:控制点和提供服务的设备,或称为受控设备,控制点是一个控制器,它可以检索设备和服务描述,发送动作到服务,查询服务的状态变量

4、和从服务接收事件。允许用户使用或运行一个设备(例如CD播放机)的程序可以认为是控制点。控制点至少包括发现(Discovery)、描述(Description)和命令转换器(Rehydrator),还可以包含事件订阅等。一个控制点可同时控制多个设备,而控制点所在的设备可以同时是一个提供服务的设备。受控设备同样是一组软件模块的集合,用于实现同用户控制点的通讯,这些软件模块包括发现服务器(DiscoveryServer)、描述服务器(DescriptionServer)、控制服务器(ControlServer)以及表征服务器、事件订阅服务器、事件源等。UP

5、nP使用Internet上广泛应用的多种标准,包括IP、TCP、UDP、HTTP及XML等作为设备之间通讯的协议,使用这些标准化的协议有助于确保实现供应商之间的互操作性。由于相同的协议已在使用之中,因此几乎不需要执行任何操作就可以让UPnP设备在现有的网络化环境中工作。其中XML是UPnP的核心部分,被用在设备和服务描述、控制消息和事件处理中。UPnP设备工作过程包括设备寻址、设备发现、设备描述、设备控制、事件通知和设备表征几部分。设备寻址是指当一个设备接入网络时,通过DHCP服务器,或者通过AutoIP获得唯一的IP地址。下面就是设备发现,使用简单

6、服务发现协议SSDP(SimpleServiceDiscoveryProtocol)来完成,控制点可以主动搜索,其他设备响应,或者设备通过广播所能提供的服务通知控制点,控制点将得到一个指向服务设备描述页面的URL,控制点根据这个URL获得服务设备详细的信息。在接收设备和服务描述之后,控制点可以向这些服务发出动作,为获得服务的状态,控制点也可以进行轮询,或者向服务订阅事件,当服务的状态改变时,服务就会向控制点发布设备事件。设备表征并不强制实现,它采用HTML页的形式,使控制点能在浏览器中打开,通常用来给用户提供控制设备或者浏览设备状态的界面。2Inte

7、l®SDKforUPnP™DevicesforLinuxIntel开发包使用C语言开发,它是开源的。开发包封装了UPnP涉及的众多协议,涵盖从寻址、发现到表征各个过程,提供了简单的接口。这样,开发人员就摆脱了各种协议的细节,只需进行服务或者控制所需的具体开发,简化了UPnP应用的设计开发。另外,该开发包还包括多线程支持库,XML解释器,迷你Web服务器等。基于Intel开发包开发UPnP应用,以服务设备为例,主要有以下几个基本步骤:首先是初始化:包括开发包的初始化和设备的初始化。(1)调用UPnPInit()初始化整个开发包;(2)通过UPnPSet

8、WebServerRootDir()注册设备描述文档存放的目录;(3)调用UPnPRegisterRootD

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。