news 2026/9/30 12:22:08

esp32c3的at固件,开启了tcp服务器和透传模式。设备连接tcp后关闭wifi后没有断开tcp连接

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
esp32c3的at固件,开启了tcp服务器和透传模式。设备连接tcp后关闭wifi后没有断开tcp连接

可以的,ESP-AT 里有两条路能解决你这个“客户端把 Wi-Fi 关了但没走 FIN/RST,服务端连接一直占着”的问题:


方案 A:用TCP Server 空闲超时(应用层“无数据就踢”)

ESP-AT 做 TCP 服务器时,可以设置在一段时间内“没有任何通信数据”就断开该客户端:

AT+CIPSTO=<time>
  • <time>:0~7200 秒

  • 机制:ESP32 作为 TCP server 时,会断开“到超时仍未与其通信”的客户端;AT+CIPSTO=0则永不超时(不推荐) (Espressif Docs)

举例(30 秒无数据就断开):

AT+CIPMUX=1 AT+CIPSERVER=1,1234 AT+CIPSTO=30

适合你的“透传模式”:因为你只要让客户端每 10~20 秒发一次很小的心跳数据(比如 1 字节),就能同时实现“活着就不断、死了就踢”。


方案 B:用Socket 层 TCP KeepAlive(真正的 TCP 探测)

ESP-AT 提供了AT+CIPTCPOPT,可以对**每一路 TCP 连接(linkID)**设置 socket 选项,其中<keep_alive>会开启SO_KEEPALIVE,单位秒,范围 0~7200: (Espressif Systems)

AT+CIPTCPOPT=<linkID>,[<so_linger>],[<tcp_nodelay>],[<so_sndtimeo>][,<keep_alive>]

只改 keepalive(其余留空)一般这样写(注意逗号占位):

AT+CIPTCPOPT=0,,,,60

含义:对 linkID=0 的连接开启 keepalive,空闲 60 秒后开始探测。

另外,在 ESP32C3 的 ESP-AT 文档里说明:<keep alive>最终会配置到TCP_KEEPIDLE,并且TCP_KEEPINTVL默认 1 秒、TCP_KEEPCNT默认 3 次。(Espressif Docs)
也就是大致:keep_alive + 3*1s这一量级内(对端完全不回应时)就能被判定掉线并释放连接。


你这个场景我建议怎么配

  1. 先开 CIPSTO(最稳、最直观):比如 30~120 秒

  2. 再开 keepalive(兜底,处理“没有业务数据但要检测死链”)

如果你在透传模式里没法随时发 AT 命令:

  • 先在进入透传前把CIPSTO/CIPTCPOPT配好;或

  • 需要时用+++退出透传再配置(ESP-AT 透传支持+++退出)。(Espressif Docs)


小提醒(很关键)

  • TCP keepalive 不是“客户端发心跳包”,而是本端协议栈发探测;对端 Wi-Fi 直接关掉通常不会优雅断开,所以你现在才会看到“连接占用”。keepalive/超时就是用来回收这种半死连接的。

  • 如果你希望“几秒级”断开:CIPSTO更像“无数据就踢”,通常比 TCP keepalive 更快、更可控。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/30 8:01:33

安防场景声音识别:哭声掌声检测用SenseVoiceSmall实现

安防场景声音识别&#xff1a;哭声掌声检测用SenseVoiceSmall实现 1. 引言&#xff1a;为什么安防需要“听觉智能”&#xff1f; 传统的安防系统大多依赖摄像头和视频分析&#xff0c;但视觉有盲区——比如夜间、遮挡、角落区域。而声音是无死角的感知维度。一个婴儿的哭声、…

作者头像 李华
网站建设 2026/9/30 3:40:57

开源大模型嵌入任务入门必看:Qwen3-Embedding-0.6B部署全解析

开源大模型嵌入任务入门必看&#xff1a;Qwen3-Embedding-0.6B部署全解析 1. Qwen3-Embedding-0.6B 介绍 你有没有遇到过这样的问题&#xff1a;想从成千上万篇文章里快速找到最相关的几篇&#xff0c;或者希望让AI理解两段话是不是一个意思&#xff1f;这时候&#xff0c;文…

作者头像 李华
网站建设 2026/9/26 20:16:42

Qwen3-Embedding-0.6B API返回空?输入格式校验实战排查

Qwen3-Embedding-0.6B API返回空&#xff1f;输入格式校验实战排查 在使用Qwen3-Embedding-0.6B进行文本嵌入调用时&#xff0c;不少开发者反馈遇到API返回为空的问题。看似简单的接口调用&#xff0c;却因输入格式的细微偏差导致模型无响应或返回空结果。本文将结合实际部署与…

作者头像 李华
网站建设 2026/9/29 23:13:58

电商商品描述提取:cv_resnet18_ocr-detection实战部署教程

电商商品描述提取&#xff1a;cv_resnet18_ocr-detection实战部署教程 OCR技术在电商运营中正变得越来越关键——商品主图上的促销文案、资质说明、参数标签&#xff0c;往往藏着影响转化率的关键信息。但人工一条条复制粘贴效率低、易出错&#xff0c;而通用OCR工具又常在复杂…

作者头像 李华
网站建设 2026/9/27 6:42:45

GPT-OSS部署全流程:从镜像拉取到网页推理实操

GPT-OSS部署全流程&#xff1a;从镜像拉取到网页推理实操 你是否也想快速体验OpenAI最新开源的GPT-OSS模型&#xff0c;却卡在复杂的环境配置和部署流程上&#xff1f;别担心&#xff0c;本文将手把手带你完成从镜像拉取到网页端推理的完整操作流程。我们使用的是支持20B参数大…

作者头像 李华
网站建设 2026/9/29 9:28:58

Live Avatar部署总结:四种使用场景配置推荐

Live Avatar部署总结&#xff1a;四种使用场景配置推荐 1. Live Avatar阿里联合高校开源的数字人模型 Live Avatar是由阿里巴巴与多所高校联合推出的开源数字人项目&#xff0c;旨在通过AI技术实现高质量、低延迟的虚拟人物生成。该模型基于14B参数规模的DiT架构&#xff0c;…

作者头像 李华