完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
1、使用esp8266 at组件+sal socket实现使用udpserver_sample.c demo代码 udp server,通信失败
2、跟踪代码发现 packegs 里面
这个接口封装的at指令,需要server的port,并且 AT+CIPSTART入参需要 udp remote_port和local_port ,但实际传入的port并非初始化sokcet的bind的local_port,而是只有remote_port 3、代码分析
sock->ops->at_connect 传入port是remote_port,并非bind local port 4、修改esp8266 packges at 命令封装
修改at_socket中 at_connect 入参,把remote_port 换成sock->listen.port
|
|
相关推荐
1个回答
|
|
|
根据您的描述,问题核心在于ESP8266 AT组件的UDP服务器实现中,本地端口( 问题原因分析
解决方案需修改 1. 修改结构体保存本地端口在 2. 在 |
| 步骤 | 修改内容 | 目的 |
|---|---|---|
| 1 | 在 struct at_socket 添加 local_port | 存储绑定的本地端口 |
| 2 | 在 bind() 中保存端口到结构体 | 记录监听端口值 |
| 3 | 修改 AT+CIPSTART 填入 local_port | 确保AT指令使用正确端口 |
| 4 | 连接时设置 is_client = RT_FALSE | 标识服务器模式 |
注意:ESP8266作为UDP服务器时,
AT+CIPSTART必须明确指定local_port,且需在bind()后调用connect()触发连接建立。远程IP/端口可设为0表示接收任意源地址数据包。
经此修改后,ESP8266将正确监听指定本地端口,实现UDP服务器功能。
只有小组成员才能发言,加入小组>>
184个成员聚集在这个小组
加入小组rtstudio是否可像keil加载ini解决虚拟串口与mcu串口通讯?
1218 浏览 0 评论
【Vision Board创客营连载体验】基于RA8D1-Vision Board的自动路径规划小车
1776 浏览 1 评论
【Vision Board创客营连载体验】基于Vision Board的垃圾分类
2158 浏览 0 评论
【Vision Board创客营连载体验】使用 Vision Board 做一个 UVC Camera
1782 浏览 0 评论
【Vision Board创客营连载体验】TinyMaix进行手写数字识别
2008 浏览 0 评论
1469浏览 5评论
在RT-Thread Studio中新建的stm32f407-atk-explorer工程运行qemu失败,是什么原因引起的?
1770浏览 3评论
为什么rt_device_read()只能读取到两个字节数据?
368浏览 3评论
连得上热点,但是ping baidu.com出现timeout,请问跟什么有关?
425浏览 3评论
427浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 09:43 , Processed in 0.754665 second(s), Total 77, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
957
