微软UPnP技术

原创 2007年10月06日 11:19:00
1.1 UPnP Introduction
    “通用即插即用”(UPnP)是 Microsoft Windows 中一种支持网络设备点对点“即插即用”功能的体系结构。UPnP 规范的设计目的是简化设备和网络服务的安装与管理。UPnP通过一种无驱动程序的、基于标准的协议机制来完成设备和服务的查找与控制。“通用即插即用”设备可自动配置网络寻址,宣布它们在一个网络子网上的存在,并允许说明设备与服务说明的交换。一台 Windows Me或以上计算机可作为一个 UPnP 控制点,通过 Web 或应用程序接口来发现和控制设备。

1.2 UPnP Terminology
操作 - 用于触发服务以执行功能的命令。 控制点 - 检索“通用即插即用”服务和设备说明的软件,它会将操作发送到服务,并从服务中接收事件。 设备 - 一项或多项服务的容器对象,它可以是物理设备,例如,便携式摄像机,也可以是逻辑设备,例如,一台起着便携式摄像机作用的计算机。 事件- 从设备发送到控制点的消息,用来使已预订的控制点总能知道设备的状态。 服务 - 可通过控制点控制的设备功能。 预订 - 控制点与服务之间的一种关系。

1.3 Five Stage of UPnP
发现 - “通用即插即用”设备会使用“简单服务发现协议”(SSDP) 向其他设备和控制点宣告其在网络上的存在。新添加的控制点会使用 SSDP 来发现网络上的“通用即插即用”设备。在设备和控制点之间交换的信息只限于一些发现消息,它们提供关于设备及其服务的基本信息,还带有一个说明 URL,后者可用来获得设备的其他信息。

说明 - 通过使用在发现过程中提供的 URL,控制点可接收到关于设备的 XML 格式的信息,如制造商、型号和序列号。另外,说明过程还可以包括嵌入设备、嵌入服务和用于访问设备功能的 URL 的列表。

控制 - 控制点使用说明过程中提供的 URL 来访问附加的 XML 格式的信息,此信息说明“通用即插即用”设备服务可对哪些操作做出响应以及各种操作的参数。控制消息采用 XML 格式,使用的是“简单对象访问协议”(SOAP)。

事件 - 如果一个控制点预订了一项服务,则该服务将向此控制点发送事件消息,以宣布设备状态的改变。事件消息采用 XML 格式,而且使用的是“通用事件通知结构”(GENA)。

展示 - 如果一个“通用即插即用”设备提供了一个展示 URL,则可以用浏览器来访问接口控制功能、设备或服务信息,或制造商实现的任何特定于设备的能力。

1.4 How to add UPnP Support in your Application
    本来想自己编一个Fake UPnP Device的,可是到Microsoft网站一看,WinXP下已经提供了供UPnP开发的COM组件了,并且支持UPnP控制点和设备的开发。有兴趣的可以参考MSDN上" Win32 and COM Development >Network Communication >UPnP APIs"下的"Device Host API"和","Control Point API"部分的内容。
    Linux下也有开源UPnP栈libupnp,给出了一个UPnP栈实现。同时,Intel SDK for UPnP Device也比较成熟了,在Intel SDK for UPnP Device Programming Guide中甚至还给出了如何”Writing a UPnP Device”和”Writing a UPnP Control Point”的Demo程序。

    看完了UPnP的架构,感觉UPnP跟WebServcie很像:都是采用SOAP协议到Web服务器上去调用Service,但WebService的服务发布是静态的而相比之下UPnP则利用组播地址239.255.255.255:1900采用UDP多播的方式来实现自动获取UPnP Device的Service列表(Control Point可以发M-Search请求去取,Device也可发Notify消息主动通知各个Control Points).另外一个不同点就是UPnP下的Control Point(作为UPnP架构下的一个客户端) 可以预先定制(Subscribe)UPnP设备的相关消息,在UPnP设备的内部状态发生改变时,其就会通知感兴趣的那些Control Points(这有点像COM中的连接点了^_^).
 

2017全球大数据峰会|微软(中国)首席技术官韦青确认出席

2017全球大数据峰会 2017第二届全球大数据峰会由GBDC(全球大数据联盟)、成都市经济和信息化委员会、天府新区成都管委会联合主办,将于2017年5月11日至12日在世纪城天堂洲际酒店(成都...
  • huodongjia2016
  • huodongjia2016
  • 2017年04月20日 14:54
  • 1110

年度重磅:2017微软技术暨生态大会将于10月23日北京召开!

本次大会将于10月23日北京召开,2017微软技术暨生态大会报名平台活动家。这是微软中国年度最盛大的科技峰会;这是微软技术大会与合作伙伴大会的首次联袂;这也是聚集众多IT大咖的技术狂欢派对!...
  • huodongjia2016
  • huodongjia2016
  • 2017年07月10日 18:17
  • 1250

ZeroConf(零配置网络)与UPnP们的比较

之所以是UPnP们,是因为UPnP是一个组织,而并非专指某个协议。就如同说:我们正在实现RFC XXXX,而不是说:我们正在实现IETF。 ZeroConf是一个被精确定义的,三为一体的协议,即:A...
  • coroutines
  • coroutines
  • 2015年05月08日 09:42
  • 3328

DLNA中的UPnP技术浅析

From:   http://haohetao.iteye.com/blog/1178316      说到DLNA,UPnP协议就一定要提到,这点从DLNA分层就能看出来。...
  • leon_leng
  • leon_leng
  • 2014年12月01日 15:50
  • 720

DLNA中的UPnP技术浅析

分类: DLNA/UPnP2010-12-13 21:54 3495人阅读 评论(3) 收藏 举报         说到DLNA,UPnP协议就一定要提到,这点从DLNA分层就能看出来。 ...
  • mirkerson
  • mirkerson
  • 2013年02月22日 10:20
  • 1611

TUP对话大师系列:微软技术大师Jeffrey Richter(现场实录)

继成功举办前两期《UML之父Ivar Jacobson》和《jQuery之父John Resig》之后,CSDN和《程序员》杂志联合组织的线下活动TUP对话大师系列第三期如期而至。今天的主角是享誉全球...
  • TUP2010
  • TUP2010
  • 2011年03月25日 15:53
  • 881

大数据早报:路桥率先利用“人脸识别”技术监管医保 亚马逊与微软联合开发人工智能,打造服务大众的AI(10.19)

数据早知道,上乐投网看早报! 『数据安全』微软内部Windows漏洞数据库曾被入侵:后果可怕 作为这个星球上覆盖率最高的操作系统,Windows的一举一动都影响着大家的使用体验,对于它...
  • qq_36852006
  • qq_36852006
  • 2017年10月19日 08:33
  • 1006

带你玩转Visual Studio——带你理解微软的预编译头技术

所谓头文件预编译技术,就是把一个工程(Project)中常用的一些头文件(如标准头文件Windows.h、Afxwin.h等,也可以是自己定义的头文件)包含在stdafx.h中,并对stdafx.h预...
  • luoweifu
  • luoweifu
  • 2015年10月10日 22:31
  • 10999

微软ASP.NET技术“乱谈”

金旭亮“学海泛舟”系列文章之微软ASP.NET技术“乱谈”,主要介绍微软Web技术现状,比对Web Forms和MVC,并针对微软技术是否“养懒汉”问题给出自己的看法。...
  • bitfan
  • bitfan
  • 2014年01月02日 15:00
  • 7515

永久优化:微软技术面试100题第1-10题答案修正与优化

                         永久优化:微软面试100题第1-10题勘误[网友辅助校正]作者:July、Sorehead。出处:http://blog.csdn.net/v_JUL...
  • v_JULY_v
  • v_JULY_v
  • 2011年03月25日 17:56
  • 24392
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:微软UPnP技术
举报原因:
原因补充:

(最多只允许输入30个字)