随笔 - 733  文章 - 2  评论 - 12  阅读 - 92万

无线透传之心跳包

http://www.usr.cn/News/344.html     https://blog.csdn.net/qq_23167527/article/details/54290726

背景:设备与服务器在长时间不通讯的情况下,为了检查对方是否在线(网络连接是否正常),可以发很简单的心跳包给对方,接收者收到说明发送端在线,发送方收到接收者回传包则说明网络通讯正常自己可以后续再发数据。

  在服务器向设备发送固定查询指令的应用中,为了减少通信流量,用户可以选择,用向串口设备端发送心跳包(查询指令),来代替从服务器发送查询指令,或者服务器在收到客户端的心跳包后再将查询指令发出,平时服务器不能主动实时呼叫客户端。心跳包间隔30~40s即可。gprs模组3次未收到串口心跳包或(服务器在3个设定的心跳包周期内未收到客户端的心跳包)则认为系统失联,客户端自动发admin进行登陆。

心跳检测步骤:
1 客户端每隔一个时间间隔发生一个探测包给服务器
2 客户端发包时启动一个超时定时器
3 服务器端接收到检测包,应该回应一个包
4 如果客户机收到服务器的应答包,则说明服务器正常,删除超时定时器
5 如果客户端的超时定时器超时,依然没有收到应答包,则说明服务器挂了

posted on   杰瑞鼠  阅读(973)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2015-04-16 ucos-内存管理:
2015-04-16 UCOS-信号标志组(学习笔记)
2015-04-16 UCOS-消息队列(学习笔记)
2015-04-16 UCOS-消息邮箱(学习笔记)
2015-04-16 UCOS-互斥信号量(学习笔记)
2015-04-16 UCOS-信号量(学习笔记)
2015-04-16 RVMDK的DEBUG调试-实时数据查看
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示