断网怎么办?先搞懂TCP断链续连

发布时间:2025-1-17 17:04    发布者:合宙LuatOS
关键词: 物联网 , 单片机 , 4G模块 , 通讯模组 , 嵌入式硬件

一、TCP断链续连示例


TCP(传输控制协议)主要用于确保数据在网络中可靠传输。当TCP连接因网络问题、设备故障等原因断开时,需要重新建立连接以继续数据传输。
本文将通过Air201具体示例解析,教你使用LuatOS脚本语言实现TCP断链续连。

1.1 本教程实现的功能定义:


1)断链:
TCP连接断开,可能由于网络不稳定、设备故障等。
2)续连:
重新建立TCP连接,通常通过“三次握手”,过程如下:
客户端请求连接;
服务器响应并同意连接;
客户端确认连接建立。

1.2 核心脚本代码详解

1.2.1 串口初始化

本文示例:串口使用MAIN_UART(uart1)。


1.2.2 数据接收回调:搭建响应桥梁

这里使用uart.rx接口,和以zbuff的方式存储从uart1外部串口收到的数据--收取数据会触发回调。
注意:这里的"receive"是固定值不要修改。


1.2.3 TCP网络配置:铺就数据通道

注意:

如需要认证,SSL填写为true;不需要则填写为false。


1.2.4 TCP至串口透传:数据无缝流转




1.2.5 串口至TCP反透传:信息双向传递



1.2.6 断链续连






1.3 完整代码及运行结果1.3.1 完整代码









1.3.2 运行结果

使用TCP/UDP web测试工具进行测试,LuaTools工具打印日志,可看到服务器断开后,重新连接成功。

如下图所示:



二、常见问题

sys.waitUntil("IP_READY") -- 等待联网成功
新入手的朋友可能看到此函数不太理解:
在整个脚本里面没有发布此事件sys.publish("IP_READY"),为什么后面还联网成功了?

此处解释一下:
在模组上电之后,固件内部联网成功会自动发布:
sys.publish("IP_READY")

今天的内容就分享到这里了~


本文地址:https://www.eechina.com/thread-880708-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • PIC18-Q71系列MCU概述
  • 为何选择集成电平转换?
  • 基于CEC1712实现的处理器SPI FLASH固件安全弹性方案培训教程
  • 了解一下Microchip强大的PIC18-Q24 MCU系列
  • 贸泽电子(Mouser)专区

相关在线工具

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表