普通传输模式 IPD回显异常 CIPSTATUS状态查询异常

Moderator: ESP_XCGuang

goosilence
Posts: 1
Joined: Thu Jul 01, 2021 1:18 am

普通传输模式 IPD回显异常 CIPSTATUS状态查询异常

Postby goosilence » Thu Jul 01, 2021 2:02 am

通过串口调试助手,模拟通信流程测试。
固件版本是:2.1.0.0-dev ab00f4a
SDK Version:V4.0-Beta2-174-g99fb9a3f7
Bin Version:2.0.0(WROOM-32)

问题1:
通过串口调试助手向模组发送AT指令,在普通传输模式,数据接收模式为主动模式的情况下,服务端向模组发送数据,IPD回显功能异常,无提示。远端TCP连接关闭,无提示。

ESP32-S作为客户端,连接服务器通信时:
1. 接受服务器数据不能及时传递至串口
2. 服务器关闭,不能提示连接关闭信息
3. 在该socket下发送数据,才会提示服务器数据与连接关闭信息

现象:
指令顺序
AT+CWMODE=3
AT+CWSAP="ESP32","12345678",1,3,4,0
AT+CIPMUX=1
AT+CIPSERVERMAXCONN=2
AT+CIPSERVER=1,7078
AT+CIPSTO=120
AT+CIPSTATUS
AT+CWJAP="SiNeng-guest","88888118"
AT+CIPSTART=1,"TCP","49.73.84.79",7078
微信截图_20210701095954.png
微信截图_20210701095954.png (157.35 KiB) Viewed 4839 times

ESP_Alson
Posts: 106
Joined: Mon Mar 22, 2021 3:37 am

Re: 普通传输模式 IPD回显异常 CIPSTATUS状态查询异常

Postby ESP_Alson » Thu Jul 01, 2021 12:59 pm

你好,对于你提出的问题,回答如下:
1. ESP32 作为 client 端时,发生 +IPD 不提示的原因可能有多种情况,可能 TCP 服务端没有将数据包发送出来,也有可能是测试环境比较差导致丢包,或者是 ESP32 的 LWIP 协议栈已经收到数据了,但是没有及时的上报。
2. TCP 服务端关闭 socket 请问是如何关闭的?是在服务端调用 close 来关闭 socket 的么。如果不是通过 4 次握手或者是通过发送 RST 包来关闭的话,是会造成 TCP 的连接不会及时关闭的,ESP32 也就不会提示连接关闭信息。
3. 在该 socket 下发送数据,等于是检测了之前连接的 TCP 的连接状态,所以会上报之前存储在 LWIP 协议栈的接收数据和提示关闭信息。

Who is online

Users browsing this forum: No registered users and 17 guests