UPnP编程指南中文版:SDK入门与设备实现详解

5星 · 超过95%的资源 需积分: 27 21 下载量 186 浏览量 更新于2024-07-21 收藏 376KB PDF 举报
本文是一份关于UPnP(Universal Plug and Play)编程的中文指南,基于libupnp-SDK-1.3.1版本的文档,主要由 Chaoshua 翻译,旨在帮助读者理解和实现UPnP技术在Linux环境下的设备功能。UPnP是一种用于简化设备间通信的技术标准,它包括五个关键组件:发现(Discover)、描述(Description)、控制(Control)、事件(Eventing)和表示(Presentation),这些功能使得设备能够自我配置并自动在网络上找到和交互。 SDK(Software Development Kit)架构是理解UPnP编程的关键,它包含设备/控制点程序的设计,如如何通过SDK API来构建和管理设备服务。SDK的核心组件还包括SSDP(Simple Service Discovery Protocol)用于发现网络上的UPnP设备,MiniWebServer用于提供设备信息,以及GENA(Generic Event Notification Architecture)、SOAP(Simple Object Access Protocol)和HTTP等协议,用于数据传输和事件通知。 章节1概述了UPnP的基本概念,包括设备与控制点之间的交互过程。在编写UPnP设备时,首先需要安装和初始化SDK,设置设备的根目录,并注册设备以便其他系统可以识别和访问。具体步骤包括初始化SDK,设置设备的基本结构,如设置根设备,这些都是编写任何UPnP设备的起点。 这份文档作为学习资源,对于想深入了解UPnP编程的开发者来说是非常有价值的,尽管存在一些翻译可能不准确的地方,但读者可以参考英文原文进行校正。由于文档标称的版本与SDK实际版本不同,可能反映了SDK更新后文档未及时更新的情况。此外,作者强调此文档仅为个人兴趣翻译,不涉及商业授权,所有内容受GPL协议约束,允许自由复制、分发和改进,欢迎读者提出建议和意见。
2012-11-22 上传
UPnP_Programming_Guide Intel® SDK for UPnP™ Devices 1 Overview .................................................................................................................................... 1 1.1 UPnP Overview................................................................................................................1 1.1.1 Discovery.............................................................................................................1 1.1.2 Description...........................................................................................................2 1.1.3 Control ................................................................................................................2 1.1.4 Eventing ..............................................................................................................2 1.1.5 Presentation .........................................................................................................3 1.1.6 Control Point and Device Interaction .....................................................................3 1.2 SDK Architecture .............................................................................................................5 1.2.1 Device/Control Point Application ..........................................................................5 1.2.2 SDK API .............................................................................................................5 1.2.3 SSDP...................................................................................................................6 1.2.4 Mini Web Server ..................................................................................................6 1.2.5 GENA .................................................................................................................6 1.2.6 SOAP ..................................................................................................................6 1.2.7 HTTP ..................................................................................................................6 1.2.8 Mini Server ..........................................................................................................6 1.2.9 ThreadUtil Library................................................................................................7 1.2.10 XML Parser .........................................................................................................7 1.2.11 BSD Socket Layer................................................................................................7 1.3 Virtual Directories ............................................................................................................8 2 Writing a UPnP Device ............................................................................................................ 10 2.1 Setup and Initialization ................................................................................................... 10 2.1.1 Initializing the SDK ............................................................................................ 10 2.1.2 Setting a Root Directory ...................................................................................... 11 2.1.3 Registering a Root Device................................................................................... 11 2.1.4 Device Specific Initialization ............................................................................... 12 2.1.5 Advertising the Device........................................................................................ 12 2.2 Handling Requests.......................................................................................................... 12 2.2.1 Subscription Requests ......................................................................................... 13 2.2.2 Get Variable Requests ......................................................................................... 14 2.2.3 Action Requests ................................................................................................. 16 2.3 Sending Events............................................................................................................... 17 2.4 Shutting Down ............................................................................................................... 18 3 Writing a UPnP Control Point................................................................................................. 19 3.1 Setup and Initialization ................................................................................................... 19 3.1.1 SDK Initialization............................................................................................... 19 3.1.2 Control Point Application Specific Initia lization ................................................... 20 3.1.3 Control Point Registration ................................................................................... 20 3.2 Searching for Something Interesting ................................................................................ 20 3.3 Retrieving Descriptions ................................................................................................... 22 3.4 Watching for Events ....................................................................................................... 23 iv Intel® SDK for UPnP™ Devices Version 1.2.1 3.5 Invoking Actions ............................................................................................................ 24 3.6 Shutting Down ............................................................................................................... 26