b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

flash支持的音频格式 基于DLNA标准的数字媒体适配器的系统设计方案(2)

电脑杂谈  发布时间:2018-02-13 00:16:11  来源:网络整理

3.1 控制点软件模块设计

数字媒体适配器作为数字家庭中的重要设备,能够根据用户提供的某项服务,在设备间实现互操作,包括设备间的通信能力以及交换有效信息的能力。控制点(Control Point)作为UPNP AV网络中最重要的节点,负责在网络中搜索媒体服务器和媒体渲染器,发现用户所需要的媒体信息,协调两者之间的交互操作。软件采用模块化设计思想,全局分为4个模块;设备列表模块、主控管理模块、交互通信模块以及UPNP协议模块。图3为控制点软件模块。

1)设备列表模块

设备列表模块用来在网络中实时、查找UPNP设备,对设备进行添加和删除,对设备表述的XML文件进行解析,列表与设备之间一一对应。此模块的设计实现了设备信息的缓存处理。flash支持的音频格式在设备列表中,包含所有控制点需要的设备信息和设置参数;设备唯一的识别名称、XML文件描述的网络地址、基础URL以及设备超时时间等。

2)主控管理模式

作为软件模块中的中枢部分,主控模块基于UPNP协议模块,与设备列表模块与交互通信模块均相连,完成的主要功能包括:管理设备缓存、处理客户端命令、响应设备请求、解析设备回应。定义CTRlPoiNTCallbackEventHandlel()函数注册UPNP消息回调函数;接收到SSDP发现消息后,管理列表中的UPNP设备,如使用CtrtPointAddDevice()添加设备;调用CtrlPointHandleEvent()函数接收客户端的消息,对消息进行处理;使用CtrlPointHandleSubscribeUpdate()和StateUpdate()更新订阅和状态列表;调用CtrlPointSenDACtion()和CtrlPointSendActi onNumeiicArg()给网络中的UPNP设备发送消息。

3)交互通信模块

交互通信模块连接了主控模块与UPNP客户端,实现设备与控制点之间的交互控制,负责与客户端的通讯流程,完成服务端、渲染器以及控制点之间的交互操作。模块首先确定了与UPNP客户端的通信方式,定义Upnp Get ServerIpAddress()设定IP地址、UpnpGetServerProt()设定端口,使用CtrlPoinHandleGetVar()处理主控模块发送过来的数据包,完成对命令的解析,调用CtrlPointCommandLoop()函数连续发送指令,使用CtrlPointProcessCommand()函数将指令传送给主控模块,完成对命令的解析和处理。

4)UPNP协议模块

负责所有与UPNP协议有关的内容。系统采用libupnp开发包、以UPNP库作为底层协议,涵盖UPNP协议所需要的API接口及库函数。

5)UPNP客户端

UPNP客户端即系统输出展示设备,包括电视、音响等。

3.2 系统软件工作流程

根据DLNA产品开发标准中的关键技术,其中“设备发现与控制”和“媒体管理”是系统实现的重要功能,软件开发基于UPNP协议与UPNP AV协议架构。下文分别说明了两主要功能的具体实现。

3.2.1 设备发现与控制工作流程

设备在发现与控制技术部分,采用了UPNP协议栈架构。设备在此部分主要完成初始化以及异步操作处理两大主要功能。其软件工作流程如图4所示。

初始化操作包括初始化UPNP协议栈、注册根设备以及初始化设备。系统调用函数UpnPINit()初始化协议栈,制定模块根目录,通过注册根设备,实现设备与UPNP库的关联。设备以多播方式发布存在消息,进入事件循环过程。当器接收到设备发出的事件请求后,创建时间处理线程,回调UPNP事件处理函数进行处理,随后开始异步操作处理过程。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-74440-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...