精品文档---下载后可任意编辑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:解码查询报文,猎取查询条件二...