网络编程socket慎重断开连接

网络编程socket慎重断开连接

业务场景

  • 我们公司是做智慧交通的,主要卖交通相关的硬件和软件
  • 硬件包括信号机、雷达、雷视、边缘盒子等,软件包括信控平台、管控平台等
  • 信号机通信协议有国标推荐协议,定义了一些接口和数据字段
  • 硬件和软件通信,硬件里一般使用的是嵌入式编程,使用精简的Linux系统,使用C语言编程
  • 遵循这些协议,一般都使用socket进行通信

心跳与连接

  • 心跳保持连接,但是不能只用心跳,数据通信也算
  • 对于断开连接,要慎重,要有心跳次数

报错与捕获

  • 数据不完整,报错,要处理黏包,要捕获报错,不能一报错就断开连接了
  • 网络连接不稳,数据并发太大,数据包过多,数据丢失,都有可能
  • TODO: 先发上,再完善
相关推荐
ym hyd 1112 小时前
试题库管理系统源码 Java+SpringBoot+Vue3 前后分离
java·vue.js·spring boot·毕设
AC赳赳老秦2 小时前
采集行为合规自检:OpenClaw 自动校验 robots 协议与采集频率,规避违规采集风险
java·开发语言·c++·python·php·deepseek·openclaw
钱栈up2 小时前
mvn compile 卡死在 javac 阶段:一次类型不匹配的排查与修复
java·开发语言
吠品4 小时前
CSS图片模糊过渡:一个transition加filter就够
java·数据库·notepad++
步行cgn5 小时前
Spring 全注解开发详解
java·后端·spring
长河5 小时前
Java的GC(垃圾回收)中,标记无用对象的核心方法是可达性分析算法
java·jvm·算法
code2cat5 小时前
Java进阶篇之LongAdder:把统计更新分散,再读取总和
java·并发编程·原子类·longadder
凯哥Java5 小时前
写代码怎么避免逻辑漏洞?
java·开发语言·人工智能·自动化
Ivanqhz6 小时前
正余弦位置编码(Sinusoidal Positional Encoding)
java·linux·数据库
BD_Marathon6 小时前
消息对象中字段的说明
java·前端·python