一个小型的XML文档,该文档描述了实际的事件,如服务状态表的改变。
在服务器端,一个事件服务器等待订阅和退订请求。事件服务器是一个类HTTP服务器的实
现通用事件提醒架构协议(GENA:General Event Notification Architecture)的服务器。
一个设备将可能根据设备提供的服务的组合(情况)必须运行多于一个的事件服务器。
1.1.5、表示(Presentation)
由于设备需要或支持用户交互,在表示阶段一个控制点能下载一个为设备描述用户界面的
HTML文档。这是一个能提供一种控制或状态显示的标准HTML文档。
如检索描述文档一样,检索表示文档的协议也是基于TCP的HTTP协议。控制点使用描述文档
中包含的表示URL来请求表示文档。不是所有设备都拥有表示文档也不是所有控制点能够显示
包含复杂HTML对象如框架,嵌入式Java applets等的表示文档。
1.1.6、控制点和设备的交互
下图显示了前面章节描述的在UPnP各阶段控制点和设备之间进行交互的(动作)序列。图
后对每一步进行了描述。这些描述指示出了控制点和设备采用的API调用和SDK中产生的网络
包类型。需要注意的是,由于该序列的异步本性,交互本身并不是必须按显示的顺序发生,
控制和事件步骤能以任意顺序发生。
图一、控制点和设备的交互序列
1. 控制点使用UpnpSearchAsync() API发出一个搜索请求。UPnP设备开发包(SDK)产生一
个多播M-SEARCH SSDP消息并发送到网络上。
2. 如果设备匹配了控制点的搜索,SDK产生一个单播UDP的NOTIFY响应,该响应包含指向
设备描述文档的URL。SDK使用UpnpRegisterRootDevice()或UpnpRegisterRootDevice2()
注册的设备描述文档包含的信息自动响应。
3. 如果控制点需要设备的更多信息,他将调用UpnpDownloadXmlDoc(),该调用使用设备响
应给出的URL作为参数。UpnpDownloadXmlDoc()使用标准的HTTP GET请求下载XML描述
文档并且返回一个代表设备描述的DOM文档。这一步可能重复执行以检索设备的服务描
述文档。
第 5 页