Bonjour网关mDNS查询报文处理模块的分析与设计中期报告_第1页
Bonjour网关mDNS查询报文处理模块的分析与设计中期报告_第2页
Bonjour网关mDNS查询报文处理模块的分析与设计中期报告_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Bonjour网关mDNS查询报文处理模块的分析与设计中期报告为了更好地分析与设计Bonjour网关mDNS查询报文处理模块,需要先对该模块的功能进行了解和明确:-接收来自mDNS客户端的查询请求-判断查询请求是否为多播或单播-根据查询条件查询目标设备的信息-将查询结果返回给mDNS客户端基于此,我们进行了初步的模块设计和实现,并在此基础上进行了深入的分析与设计,具体内容如下:一、模块设计1.模块结构bonjour_gateway_mdns_query_handler├──bonjour_gateway_mdns_query_handler_init├──bonjour_gateway_mdns_query_handler_deinit├──bonjour_gateway_mdns_query_handler_handle_query│├──bonjour_gateway_mdns_query_handler_send_response│├──bonjour_gateway_mdns_query_handler_find_device││├──bonjour_gateway_get_device_list││└──bonjour_gateway_find_device_by_query│└──bonjour_gateway_mdns_query_handler_decode_query2.模块接口-bonjour_gateway_mdns_query_handler_init:初始化查询处理模块-bonjour_gateway_mdns_query_handler_deinit:销毁查询处理模块-bonjour_gateway_mdns_query_handler_handle_query:处理查询报文,并返回查询结果给mDNS客户端3.主要函数功能说明-bonjour_gateway_mdns_query_handler_init:初始化查询处理模块,包括创建查询处理线程、初始化设备列表等-bonjour_gateway_mdns_query_handler_deinit:销毁查询处理模块,包括销毁查询处理线程、销毁设备列表等-bonjour_gateway_mdns_query_handler_handle_query:处理查询报文,并返回查询结果给mDNS客户端。该函数包括以下主要步骤:1)解码查询报文,获取查询条件2)判断查询类型(单播或多播),并根据查询条件查找目标设备3)根据查询结果生成响应报文,并将响应报文返回给mDNS客户端-bonjour_gateway_mdns_query_handler_send_response:发送响应报文给mDNS客户端-bonjour_gateway_mdns_query_handler_find_device:根据查询条件查找目标设备-bonjour_gateway_get_device_list:获取设备列表-bonjour_gateway_find_device_by_query:根据查询条件查找目标设备-bonjour_gateway_mdns_query_handler_decode_query:解码查询报文,获取查询条件二、模块实现1.实现思路查询处理模块部分实现较为复杂,需要涉及到mDNS协议的解析、设备列表的查找、查询报文的处理等几个方面。为了简化实现难度,我们通过分工合作的方式,将不同的任务分配给不同的实现者来完成。2.实现细节-查询报文的解析:我们采用了RFC6762中定义的mDNS协议解析方式,将查询请求中的查询条件抽取出来进行比对。具体的实现思路是:通过UDP接受报文,然后解析报文,按照记录的类型对查询条件进行抽取,最后根据查询条件查找设备。查询条件包括查询的名字和类型。-设备列表的查找:我们将所有设备信息存储在设备列表中,设备列表的查找可以采用常规的遍历查找方式,也可以采用优化后的二分查找方式。由于设备数量不是很多,所以我们采用常规

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论