微软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中的连接点了^_^).
  •  
    版权声明:本文为博主原创文章,未经博主允许不得转载。

    相关文章推荐

    upnp编程技术

    • 2015-03-25 18:42
    • 376KB
    • 下载

    基于UPnP的穿越NAT的技术

    • 2015-12-01 13:45
    • 933KB
    • 下载

    微软发布Window 10的技术预览版

    微软出乎意料的发布了下一代操作系统,被命名为Windows 10,技术预览版将于10月1日提供下载。   微软表示Windows 10标志着全新一代Windows操作系统。这款操作系统的应用范围非...

    upnp 说明文档 技术帮助

    • 2012-10-31 10:38
    • 4.19MB
    • 下载

    微软云技术Windows Azure专题(四):如何利用Mobile Service的计划程序连接到Service Bus定时推送消息

    通过前几篇文章的学习,大家对推送都有了一定的了解。但是前边的推送任务都是手动添加的,如何实现云服务自主向用户推送信息呢?     本篇文章将讲解如何将Mobile Service连接到Service ...

    【微软2014实习生及秋令营技术类职位在线测试】题目2 : K-th string

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB Description Consider a string set that each of them consist...

    《编程之美——微软技术面试心得》勘误表(转自http://blog.csdn.net/justpub/article/details/2378778#comments)

    1.       第7页,第2行 原文:不过我们还是不能简单地将n=60000000 修订:不过我们还是不能简单地将n=960000000   2.     &#...
    • xjbzju
    • xjbzju
    • 2011-10-13 20:32
    • 1522

    基于微软Dryad分布式并行计算平台云技术的研究

    http://www.cnblogs.com/xiaoyin_net/archive/2011/03/24/1993341.html       微软于2010年12月21日发布了分布式并行计算基础...

    微软面试技术题

    微软面试技术题

    微软开放技术(中国) 发布适用于 Discuz! 以及 DedeCMS 的必应地图插件

    微软开放技术(中国) 发布适用于 Discuz! 以及 DedeCMS 的必应地图插件 发布于 2014-10-08 作者 " rel="author" style="color:rgb(244,1...
    内容举报
    返回顶部
    收藏助手
    不良信息举报
    您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
    举报原因:
    原因补充:

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