完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用版本 AT version:0.21.0.0 SDK version:0.9.5,如果我使用 UDP 发送少于 18 个字节,则 ESP8266 发送的数据包末尾有额外的字节。 IP 和 UDP 数据包长度字段正确无误,不会反映额外的字节。 这是 Linux 接收器站点的 tcpdump,当发送 8 个字节时(ESP 是 IP 地址 192.168.1.137)。接收器只是回显它接收到的内容。
19:24:15.180129 IP 192.168.1.137.4321 > 曼 尼.7654: UDP, length 8 0x0000: 4500 0024 00ca 0000 ff11 3721 c0a8 0189 0x0010: c0a8 0104 10e1 1de6 0010 7c54 3132 3334 0x0020: 3536 3738 0000 0000 0000 4b05 ee98 19:24:17.121749 IP 曼 尼.7654 > 192.168.1.137.4321: UDP, length 8 0x0000: 4500 0024 8de6 4000 4011 2905 c0a8 0104 0x0010: c0a8 0189 1de6 10e1 0010 83ff 3132 3334 0x0020: 3536 3738 |
|
相关推荐
1个回答
|
|
在这种情况下,ESP8266发送的UDP数据包具有额外的字节可能是由以下几个原因导致的:
1. **填充(Padding)**:在某些情况下,为了确保数据包的完整性和正确性,可能会在数据包的末尾添加一些填充字节。这些填充字节通常用于对齐数据包,以便在接收端更容易解析。 2. **协议开销**:在发送UDP数据包时,除了实际的数据内容外,还需要包含一些协议开销,如IP头、UDP头等。这些协议开销可能会占用一些额外的字节。 3. **固件或软件问题**:在某些情况下,ESP8266的固件或软件可能存在一些问题,导致发送的数据包中包含额外的字节。这可能是由于代码实现错误或配置不当引起的。 4. **网络设备处理**:在数据包传输过程中,某些网络设备可能会对数据包进行处理,如添加额外的字节或修改数据包内容。这可能会导致接收到的数据包与原始发送的数据包不同。 为了解决这个问题,您可以尝试以下方法: 1. **检查代码实现**:仔细检查您的代码,确保在发送UDP数据包时没有添加额外的字节。检查数据包的构建和发送过程,确保所有字节都正确处理。 2. **更新固件和软件**:确保您的ESP8266使用的是最新版本的固件和软件。这可以帮助解决一些已知的问题和错误。 3. **使用调试工具**:使用调试工具(如Wireshark)来捕获和分析发送和接收的数据包。这可以帮助您更好地了解数据包的内容和结构,从而找出问题所在。 4. **联系技术支持**:如果您无法确定问题的原因,可以联系ESP8266的技术支持团队,寻求专业的帮助和建议。 5. **检查网络设备**:检查您的网络设备(如路由器、交换机等),确保它们没有对数据包进行不必要的处理。如果可能,尝试更换网络设备,看看问题是否仍然存在。 通过以上方法,您应该能够找出导致ESP8266发送的UDP数据包具有额外字节的原因,并采取相应的措施来解决问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
509浏览 6评论
426浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
404浏览 5评论
406浏览 4评论
378浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-21 18:10 , Processed in 0.869202 second(s), Total 82, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号