外观
11.智能家居服务发现实现
约 422 字大约 1 分钟
嵌入式NETLinux单片机
2023-08-17
(1)服务设备软件架构设计

(2)代码复用
- 将网络通信框架移植到开发板,之后,可使用框架中的组件实现 ResponseTask和Service Task。
(3)框架移植注意事项
- LWIP是微型TCP/IP协议栈(并非完整TCP/IP协议栈)
- 支持socket接口,但是一些功能未实现
- socket接口所在头文件不同于Linux和Windows平台
- 完成可移植性测试,对测试中出现的问题及时修复
(4)可移植性测试
通过网络调试助手验证TCP数据收发
- 设备端运行服务端,客户端连接,数据收发功能
通过网络调试助手验证UDP数据收发
- 设备端接收广播,并回复数据
(5)Service Task关键实现

(6)Respone Task关键实现

(7)编程实验:网络通信框架移植
打压缩包了:https://download.csdn.net/download/qq_38426928/88226992
(8)问题及原因
- LWIP未实现选项组合IPPROTO_TCP, TCP INFO
- int TcpClient lsValid(TcpClient* c:lient);总是返回假,导致服务端逻辑错误
- MParser从内存解析数据且内存中的协议消息无 payload (length == 0)
- MParser 无法将解析状态推入最终态,导致解析结果为NULL
