电单车TCP通讯协议对接phpworkerman

2024-08-25 14:52

本文主要是介绍电单车TCP通讯协议对接phpworkerman,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

出厂参数:
心跳30秒(固定)上报一次
充电功率5分钟上报一次
单路最高功率1000w
启动充电自检时间10秒,自检功率小于10w(固定)
插头掉落时间10秒,插头掉落功率小于10w(固定)
充满自停功率30w浮充60分钟上报充满
刷卡禁用时间、刷卡网络超时时间均为自检时间
离线持续1800秒(固定)断开所有继电器
备注:
信号1~31
刷卡流程:

一.协议基本格式
发送方:
长度(Byte) 名称 描述
1 包头低位 0x55
1 包头高位 0xaa
1 长度低位 长度包含包头信息
1 长度高位
1 命令字 命令标识
n 命令内容 命令的长 度由具体的通讯命令而定
1 CRC 从包头到命令内容(包含命令内容)的所有数据的累加和取低字节
回复方:
长度(Byte) 名称 描述
1 包头低位 0x55
1 包头高位 0xaa
1 长度低位 长度包含包头信息
1 长度高位
1 回复命令标识 0x66
1 命令字
n 命令内容 命令的长 度由具体的通讯命令而定
1 CRC 从包头到命令内容(包含命令内容)的所有数据的累加和取低字节
0x06 主板程序远程升级
a. 命令字
0x06
b. 命令内容
1.发送方-(服务器)
长度(Byte) 内容 描述
11 终端设备ID 详见前言
1 软件程序版本号 如0x01表示V1.0(以升级包内版本号为主)
2 升级包总数 BIN(低位在前)
2 当前升级包数 从1开始(低位在前)
4 当前升级包的CRC校验 HEX(低位在前)
512 当前包的数据 HEX
2.回复方-(中继器)
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x06
1 命令返回码 0,成功,非零代表通讯错误
11 终端设备ID 详见前言
1 软件程序版本号 如0x01表示V1.0(以升级包内版本号为主)
2 升级包总数 BIN(低位在前)
2 当前升级包数 从1开始
0x07 主板程序远程升级结果
a. 命令字
0x07
b. 命令内容
1.发送方-(中继器)
长度(Byte) 内容 描述
11 终端设备ID 详见前言
1 软件程序版本号 如0x01表示V1.0(以升级包内版本号为主)
1 升级结果 0成功1失败
2.回复方-(服务器)
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x07
1 命令返回码 0,成功,非零代表通讯错误
1 软件程序版本号 如0x01表示V1.0(以升级包内版本号为主)
0x10 桩登录
a.命令字
0x10
b.命令内容
1.命令发送-中继器
长度(Byte) 内容 描述
11 终端设备ID 详见前言
1 中继器硬件版本 如0x01表示V1.0
1 中继器程序版本 如0x01表示V1.0
2.命令回复-服务器
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x10
1 命令返回代码 命令返回代码,非零即被服务器断开连接
4 设备保持在线时间 0立即断线
0XFFFFFFFF永远在线,
其他服务器要求DTU在线时间,
0x15 桩心跳包
a. 命令字
0x15
b.命令内容
1.发送方-中继器
长度(Byte) 内容 描述
11 终端设备ID ASCII码
1 桩信号强度 BIN码
2.回复方-服务器
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x15
1 命令返回码 0,成功,非零代表通讯错误
1 下次心跳包发送时间间隔 以秒为单位,超时周期为3,3次收不到,重新登录(废弃)
0x16 读取sim卡
a.命令字
0x16
b.命令内容
1.发送方-服务器
长度(Byte) 内容 描述
0 空
2.回复方-中继器
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x16
1 命令返回码 0,成功,非零代表通讯错误
11 终端设备ID 详见前言
32 中继器状态信息:
集成电路卡识别码即SIM卡卡号ICCID 字符串,不足末尾补零
32 中继器状态信息:
国际移动设备识别码IMEI 字符串,不足末尾补零
1 备用 备用,为了兼容原来老协议
4 当月话费 以分为单位,
0xffff ffff代表未知 (未实现)
4 话费余额 以分为单位,
0xffff ffff代表未知 (未实现)
4 当月流量总量 字节 (未实现)
4 当月已使用流量 字节 (未实现)
2 当月总通话时间 分钟 (未实现)
2 当月已通话时间 分钟 (未实现)
2 当月总短信条数 (未实现)
2 当月已发送短信条数 (未实现)
3.命令返回码
代码 描述
0 命令正确
1 设备不合法
2 服务器不合法
3 协议不支持
4 设备应答超时
5 服务器应答超时
0xff 接收端不支持的命令
0x22 查询某个终端设备回路状态命令
a.命令字
0x22
b.命令内容

  1. 发送方-(服务器)
    长度(Byte) 内容 描述
    11 终端设备ID 详见前言
    2.回复方-(中继器)
    长度(Byte) 内容 描述
    1 命令字 回复的命令字 0x22
    1 命令返回码 0,成功,非零代表通讯错误
    11 终端设备ID 详见前言
    1 回路 HEX
    1 状态 0x00:粘连故障 0x01:空闲 0x02:充电 0x03:断开故障(如继电器坏了,闭合不了)0x04:设备急停(汽车桩) 0x05:枪车连接未充电 0x06:充电结束未拔枪
    注:急停后,微信刷卡不能充电

    1 回路n HEX
    1 状态 0x00:粘连故障 0x01:空闲 0x02:充电 0x03:断开故障(如继电器坏了,闭合不了)0x04:设备急停(汽车桩) 0x05:枪车连接未充电 0x06:充电结束未拔枪
    注:急停后,微信刷卡不能充电
    3.命令返回码
    代码 描述
    0 命令成功
    1 协议不支持
    2 设备不合法
    3 服务器不合法
    4 设备应答超时
    5 服务器应答超时
    0xff 接收端不支持的命令
    0x24 查询某个终端设备回路功率命令
    a.命令字
    0x24
    b.命令内容
  2. 发送方-(服务器)
    长度(Byte) 内容 描述
    11 终端设备ID 详见前言
    1 回路 HEX
    2.回复方-(中继器)
    长度(Byte) 内容 描述
    1 命令字 回复的命令字 0x24
    1 命令返回码 0,成功,非零代表通讯错误
    11 终端设备ID 详见前言
    1 回路 HEX
    2 功率 HEX,W(低位在前)
    3.命令返回码
    代码 描述
    0 命令成功
    1 协议不支持
    2 设备不合法
    3 服务器不合法
    4 设备应答超时
    5 服务器应答超时
    0xff 接收端不支持的命令
    0x31 远程下发充电
    a.命令字
    0x31
    b.命令内容
    1.发送方-(服务器)
    长度(Byte) 内容 描述
    11 终端设备ID 详见前言
    5 充电订单号 hex
    1 回路 hex
    2 充电最大时间 Hex 单位:分(低位在前)
    2 本次充电最大电度 Hex 单位:度(保留1位小数)(低位在前)电度传0,是充满自停
    1 强制充电选择 Hex, 0:不强制充电; 1:强制充电;
    强制充电,无论通道是否有功率,直接开启充电
    2.回复方-(中继器)
    长度(Byte) 内容 描述
    1 命令字 回复的命令字 0x31
    1 命令返回码 0,成功,非零代表通讯错误
    11 终端设备ID 详见前言
    5 充电订单号 hex
    1 回路 hex
    1 回路状态 0:开始充电,进入10S检测回路
    1:回路断开故障,充电失败(前台提示)
    2:回路粘连故障 (前台提示)
    3:回路异常(具体异常情况见收到的32命令)
    备注:汽车桩应用场景,无论何种无法满足充电的条件,都回复3;具体异常情况0x32中体现
    3.命令返回码
    代码 描述
    0 命令成功
    1 协议不支持
    2 设备不合法
    3 服务器不合法
    4 设备应答超时
    5 服务器应答超时
    0xff 接收端不支持的命令
    0x32 上报启动充电自检状态
    a.命令字
    0x32
    b.命令内容
    1.发送方-(中继器)
    长度(Byte) 内容 描述
    11 终端设备ID 详见前言
    5 充电订单号 hex
    1 回路 hex
    1 回路状态 Hex
    1:检测功率正常,开始充电
    2:检测功率为0
    3:检测功率超载
    4:断开故障
    5:粘连故障
    6:继电器打开失败
    7:预留
    8:预留
    9:预留
    10:刷卡网络超时
    2 回路功率 HEX 单位:W,低位在前,高位在后
    2.回复方-(服务器)(设备如果没有收到服务器的回复,会一直发送0x32命令)
    长度(Byte) 内容 描述
    1 命令字 回复的命令字 0x32
    1 命令返回码 0,成功,非零代表通讯错误
    11 终端设备ID 详见前言
    5 充电订单号 Hex
    1 回路 hex
    1 订单状态 Hex 1:回路充电成功,订单成功
    2:回路异常或订单号异常,订单结束或订单不存在(设备收到状态2,会结束本订单号的充电)
    3.命令返回码
    代码 描述
    0 命令成功
    1 协议不支持
    2 设备不合法
    3 服务器不合法
    4 设备应答超时
    5 服务器应答超时
    0xff 接收端不支持的命令

0x34 远程断开指定回路的充电
a.命令字
0x34
b.命令内容
1.发送方-(服务器)
长度(Byte) 内容 描述
11 终端设备ID 详见前言
5 充电订单号 hex
1 回路 hex
2.回复方-(中继器)
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x34
1 命令返回码 0,成功,非零代表通讯错误
11 终端设备ID 详见前言
5 充电订单号 hex
1 回路 hex
1 状态 1:结束充电,APP远程停止 2:订单号不一致,断开失败 3:本回路没有在充电 4:继电器粘连,本路故障 5:功率偏低,远程中止充电(平台下发) 6:余额不足,远程中止充电(平台下发)
2 充电过程中的最大功率 Hex 单位:W (低位在前)
2 本次充电所用电量 Hex 单位:0.1kW/h(低位在前)
2 剩余充电时间 Hex 单位:分 (低位在前)
3.命令返回码
代码 描述
0 命令成功
1 协议不支持
2 设备不合法
3 服务器不合法
4 设备应答超时
5 服务器应答超时
0xff 接收端不支持的命令
说明:1,在在线情况下发送以上命令时,回复超时,则一直发本命令,直到收到回复;
2,在离线状态下:后台发送0x34命令时,提示不在线
前台发送0x34命令时,订单挂起,等到再次在线时,发本命令,直到回复
0xD4 (新,测试)远程断开指定回路的充电
a.命令字
0xD4
b.命令内容
1.发送方-(服务器)
长度(Byte) 内容 描述
11 终端设备ID 详见前言
5 充电订单号 hex
1 回路 hex
2.回复方-(中继器)
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x34
1 命令返回码 0,成功,非零代表通讯错误
11 终端设备ID 详见前言
5 充电订单号 hex
1 回路 hex
1 状态 1:订单号正确,断开成功 2:订单号不一致,断开失败 3:本回路没有在充电 4:继电器粘连,本路故障
2 充电过程中的最大功率 Hex 单位:W (低位在前)
2 本次充电所用电量 Hex 单位:0.001kW/h(低位在前)最小分辨率0.001度
2 剩余充电时间 Hex 单位:分 (低位在前)
3.命令返回码
代码 描述
0 命令成功
1 协议不支持
2 设备不合法
3 服务器不合法
4 设备应答超时
5 服务器应答超时
0xff 接收端不支持的命令
说明:1,在在线情况下发送以上命令时,回复超时,则一直发本命令,直到收到回复;
2,在离线状态下:后台发送0x34命令时,提示不在线
前台发送0x34命令时,订单挂起,等到再次在线时,发本命令,直到回复

0x35 桩上传充电结束命令
a. 命令字
0x35
b.命令内容
1.发送方-中继器 314C4D3030303030303031 000D20512E 05 03 BE00 0000 4B00
长度(Byte) 内容 描述
11 终端设备ID 详见前言
5 充电订单号 hex
1 回路 hex
1 停止充电状态 1:充电时间满足设定条件
2:功率超载
3:拔掉充电器
4:充满
5:预留
6:充电电量满足设定条件
7:温度报警
8:烟雾报警
2 充电过程中最大功率 Hex 单位:W (低位在前)
2 本次充电所用电量 Hex 单位:0.1kW/h (低位在前)
2 剩余充电时间 Hex 单位:分钟(低位在前)
1 停止充电满足的条件 1:时间走完,2:可用电度走完
2.回复方-服务器 如果没有收到回复或收到订单结算失败,设备会一直发0X35命令
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x35
1 命令返回码 0,成功,非零代表通讯错误
11 终端设备ID 详见前言
5 充电订单号 hex
1 回路 hex
1 状态 1:订单结算成功,如果本订单早已结算,也回复结算成功 2:订单结算失败,只有继续扣费状态表示结算失败
3.命令返回码
代码 描述
0 成功
1 协议不支持
2 设备不合法
3 服务器不合法
4 设备应答超时
5 服务器应答超时
0xff 接收端不支持的命令
0xD5 (新,测试)桩上传充电结束命令
a. 命令字
0xD5
b.命令内容
1.发送方-中继器 314C4D3030303030303031 000D20512E 05 03 BE00 0000 4B00
长度(Byte) 内容 描述
11 终端设备ID 详见前言
5 充电订单号 hex
1 回路 hex
1 停止充电状态 1:充电时间减为0(但不一定充满)
2:功率超载
3:拔掉充电器
4:充满
5:预留
6:余额不足,主要指电量用完
7:温度报警
8:烟雾报警
2 充电过程中最大功率 Hex 单位:W (低位在前)
2 本次充电所用电量 Hex 单位:0.001kW/h (低位在前)最小分辨率0.001度
2 剩余充电时间 Hex 单位:分钟(低位在前)
1 停止充电满足的条件 1:时间走完,2:可用电度走完
2.回复方-服务器 如果没有收到回复或收到订单结算失败,设备会一直发0X35命令
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x35
1 命令返回码 0,成功,非零代表通讯错误
11 终端设备ID 详见前言
5 充电订单号 hex
1 回路 hex
1 状态 1:订单结算成功,如果本订单早已结算,也回复结算成功 2:订单结算失败,只有继续扣费状态表示结算失败
3.命令返回码
代码 描述
0 成功
1 协议不支持
2 设备不合法
3 服务器不合法
4 设备应答超时
5 服务器应答超时
0xff 接收端不支持的命令

0x36 刷卡充电
a. 命令字
0x36
b.命令内容
1.发送方-中继器(提示请选择充电回路)
长度(Byte) 内容 描述
11 终端设备ID 详见前言
4 卡号 HEX(低位在前)
2.回复方-服务器(设备收到回复后,会提示请选择充电回路,用户选择充电回路后,会发送0x41命令)
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x36
1 命令返回码 0,成功,非零代表通讯错误
11 终端设备ID 详见前言
4 卡号 HEX(低位在前)
3 余额 HEX 单位:分(低位在前)
1 卡类型、是否可充电 前2位表示是否绑定
第3,4位表示是否可充电
后4位表示卡类型
如:收到0x01,则对应二进制为:
00000001
00:绑定 【00:已绑定;01:未绑定】
00:可充电 【00:可充电;01:余额不足】
0001:卡类型【0001:标准卡】
2 充电时间 Hex 单位:分钟(低位在前)
2 本次充电最大电度 Hex 单位:度(保留1位小数)(低位在前)
3.命令返回码
代码 描述
0 成功
1 协议不支持
2 设备不合法
3 服务器不合法
4 设备应答超时
5 服务器应答超时
0xff 接收端不支持的命令

0x38 设置充电参数一
a. 命令字
0x38
b. 命令内容
1.发送方-(服务器)
长度(Byte) 内容 描述
11 终端设备ID 详见前言
2 单路最大功率 Hex 单位:W(低位在前)
1 充满自停功率 Hex 单位:W
1 充满延时时间(浮充) Hex 单位:分钟
1 卡是否加密 1:加密 0:不加密
1 枪是否插入电平判断设定 Hex(0-255) 枪是否插入电平判断设定必须大于枪连接后S2是否闭合的电平判断设定
1 枪连接后S2是否闭合的电平判断设定 Hex(0-255)枪是否插入电平判断设定必须大于枪连接后S2是否闭合的电平判断设定
2.回复方-(中继器)
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x38
1 命令返回码 0,成功,非零代表通讯错误
11 终端设备ID 详见前言
3.命令返回码
代码 描述
0 命令成功
1 协议不支持
2 设备不合法
3 服务器不合法
4 设备应答超时
5 服务器应答超时
6 设置失败
0xff 接收端不支持的命令

0x39 查询充电参数一
a.命令字
0x39
b.命令内容
1.发送方-(服务器)
长度(Byte) 内容 描述
11 终端设备ID 详见前言
2.回复方-(中继器)
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x39
1 命令返回码 0,成功,非零代表通讯错误
11 终端设备ID 详见前言
2 单路最大功率 Hex 单位:W(低位在前)
1 充满自停功率 Hex 单位:W
1 充满延时时间(浮充) Hex 单位:分钟
1 卡是否加密 1:加密 0:不加密
1 枪是否插入电平判断设定 Hex(0-255) 仅支持汽车桩
1 枪连接后S2是否闭合的电平判断设定 Hex(0-255) 仅支持汽车桩
1 设备此刻检测到的电平 Hex(0-255) 仅支持汽车桩
3.命令返回码
代码 描述
0 命令成功
1 协议不支持
2 设备不合法
3 服务器不合法
4 设备应答超时
5 服务器应答超时
0xff 接收端不支持的命令
0x41 刷卡充电选择回路
a. 命令字
0x41
b.命令内容
1.发送方-中继器
长度(Byte) 内容 描述
11 终端设备ID 详见前言
4 卡号 HEX(低位在前)
1 充电回路 HEX
2 充电时间 充电时间,用户后台过一段时间才收到本命令可更新后台(低位在前)
2.回复方-服务器 (若电桩在10S内收不到回复,间隔3秒发送0x41,10S后会发送0x32)
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x41
1 命令返回码 0,成功,非零代表通讯错误
11 终端设备ID 详见前言
5 充电订单号 hex
1 充电回路 hex
1 订单状态 Hex 1:正常 2:异常
3.命令返回码
代码 描述
0 成功
1 协议不支持
2 设备不合法
3 服务器不合法
4 设备应答超时
5 服务器应答超时
0xff 接收端不支持的命令
0x50 查询充电参数二
a.命令字
0x50
b.命令内容
1.发送方-(服务器)
长度(Byte) 内容 描述
11 终端设备ID 详见前言
2.回复方-(安卓)
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x50
1 命令返回码 0,成功,非零代表通讯错误
11 终端设备ID 详见前言
1 无充电器断电延时时间(插头掉落时间) Hex 单位:秒
1 启动充电自检时间(自检时间) Hex 单位:秒
1 充电中上传功率时间间隔 Hex 单位:分
3.命令返回码
代码 描述
0 命令成功
1 协议不支持
2 设备不合法
3 服务器不合法
4 设备应答超时
5 服务器应答超时
0xff 接收端不支持的命令

0x51 设置充电参数二
a.命令字
0x51
b.命令内容
1.发送方-(服务器)
长度(Byte) 内容 描述
11 终端设备ID 详见前言
1 无充电器断电延时时间(插头掉落时间) Hex 单位:秒
1 启动充电自检时间(自检时间) Hex 单位:秒
1 充电中上传功率时间间隔 Hex 单位:分钟
2.回复方-(安卓)
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x51
1 命令返回码 0,成功,非零代表通讯错误
11 终端设备ID 详见前言
3.命令返回码
代码 描述
0 命令成功
1 协议不支持
2 设备不合法
3 服务器不合法
4 设备应答超时
5 服务器应答超时
6 设置失败
0xff 接收端不支持的命令

0x63 设置ip地址端口(本地不保存)
a.命令字
0x63
b.命令内容
1.发送方-(服务器)
长度(Byte) 内容 描述
4 IP地址 Hex 如2f6364c9 表示47.99.100.201
2 端口 Hex 如2A7c表示10876(高位在前)
2.回复方-断网无回复
0x64 设置ip地址端口(本地保存)
a.命令字
0x64
b.命令内容
1.发送方-(服务器)
长度(Byte) 内容 描述
4 IP地址 Hex 如2f6364c9 表示47.99.100.201
2 端口 Hex 如2A7c表示10876(高位在前)
2.回复方-断网无回复
0x72 上报所有回路实时功率(主板定时上传)
a. 命令字
0x72
b.命令内容
1.发送方-中继器
长度(Byte) 内容 描述
11 终端设备ID 详见前言
1 回路
2 功率 Hex 单位:W (低位在前)

这篇关于电单车TCP通讯协议对接phpworkerman的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1105861

相关文章

Java如何接收并解析HL7协议数据

《Java如何接收并解析HL7协议数据》文章主要介绍了HL7协议及其在医疗行业中的应用,详细描述了如何配置环境、接收和解析数据,以及与前端进行交互的实现方法,文章还分享了使用7Edit工具进行调试的经... 目录一、前言二、正文1、环境配置2、数据接收:HL7Monitor3、数据解析:HL7Busines

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

Java Websocket实例【服务端与客户端实现全双工通讯】

Java Websocket实例【服务端与客户端实现全双工通讯】 现很多网站为了实现即时通讯,所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发 出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request 的模式带来很明显的缺点 – 浏 览器需要不断的向服务器发出请求,然而HTTP

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

如何更优雅地对接第三方API

如何更优雅地对接第三方API 本文所有示例完整代码地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/third 我们在日常开发过程中,有不少场景会对接第三方的API,例如第三方账号登录,第三方服务等等。第三方服务会提供API或者SDK,我依稀记得早些年Maven还没那么广泛使用,通常要对接第三方

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

图解TCP三次握手|深度解析|为什么是三次

写在前面 这篇文章我们来讲解析 TCP三次握手。 TCP 报文段 传输控制块TCB:存储了每一个连接中的一些重要信息。比如TCP连接表,指向发送和接收缓冲的指针,指向重传队列的指针,当前的发送和接收序列等等。 我们再来看一下TCP报文段的组成结构 TCP 三次握手 过程 假设有一台客户端,B有一台服务器。最初两端的TCP进程都是处于CLOSED关闭状态,客户端A打开链接,服务器端

Modbus-RTU协议

一、协议概述 Modbus-RTU(Remote Terminal Unit)是一种基于主从架构的通信协议,采用二进制数据表示,消息中的每个8位字节含有两个4位十六进制字符。它主要通过RS-485、RS-232、RS-422等物理接口实现数据的传输,传输距离远、抗干扰能力强、通信效率高。 二、报文结构 一个标准的Modbus-RTU报文通常包含以下部分: 地址域:单个字节,表示从站设备

网络原理之TCP协议(万字详解!!!)

目录 前言 TCP协议段格式 TCP协议相关特性 1.确认应答 2.超时重传 3.连接管理(三次握手、四次挥手) 三次握手(建立TCP连接) 四次挥手(断开连接)  4.滑动窗口 5.流量控制 6.拥塞控制 7.延迟应答 8.捎带应答  9.基于字节流 10.异常情况的处理 小结  前言 在前面,我们已经讲解了有关UDP协议的相关知识,但是在传输层,还有