网络编程socket慎重断开连接

网络编程socket慎重断开连接

业务场景

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

心跳与连接

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

报错与捕获

  • 数据不完整,报错,要处理黏包,要捕获报错,不能一报错就断开连接了
  • 网络连接不稳,数据并发太大,数据包过多,数据丢失,都有可能
  • TODO: 先发上,再完善
相关推荐
Shaoshing26 分钟前
缓存一致问题及常见解决方案
java·缓存
聚美智数32 分钟前
文档转换 API‑文档转 PDF‑PDF 转文档‑异步文档处理‑文件格式迁移‑转换结果回调推送 API 接口介绍
android·java·pdf
从零数据分析42 分钟前
零基础学SQL 23:和上月比总对不上?LAG/LEAD 一步取出上一次(附 4 个模板)
java·数据库·sql·mysql·oracle·sqlite·database
yuzhiboyouye1 小时前
com.fasterxml.jackson.annotation 里最常用高频的注解,可以按“控制字段、控制格式、控制结构、控制流程”来记
java·开发语言
苜蓿muxu1 小时前
简述 ConcurrentHashMap 和 CopyOnWriteArrayList 的区别以及各自适用场景
java·编程语言
9527!到!1 小时前
Springboot @value读取配置参数踩坑&推荐解决方案
java·spring boot·spring
十年Java程序媛1 小时前
Java 面试常问 this、super:构造方法调用顺序避坑
java·开发语言·spring boot·面试·个人开发
337801 小时前
5分钟搞懂Spring的IoC和Bean管理
java
学到老活到老2 小时前
类已经加载了,为什么静态代码还没执行?
java·jvm
学到老活到老2 小时前
写了 new,就一定会在堆上分配对象吗?
java·jvm