LSV2 TCP传输规则

传输控制

连接建立、命令和请求电报将通过对方的电报进行响应。 这要么通过 (S_xx) 发送电报对 (R_xx) 请求电报进行响应,要么在 (C_xx) 命令电报中使用传输控制电报 T_OK 进行响应。 如果电报无法解释或未按顺序处理,则会发送带有相应错误信息的传输控制电报 T_ER。

块传输

如果要通过 LSV-2 协议传输的数据对于一个电报来说太长,必须将其分成多个块。 这些块将被打包成带有电报标识的电报,并依次传输给对方。 在发送新块之前,必须等待对方的肯定确认电报(T_OK)。 如果对方无法进一步处理数据块,则可以使用传输控制电报 T_BD 中断块传输。 当最后一个块被传输后,发送站通过发送传输控制电报 T_FD 通知对方。

重要常量
常量名称描述
CMD_LENGTH4LSV-2 电报命令标识的长度
MAXTELEGRAMDEFAULT256最大电报长度(如果控制单元支持,可以通过 C_CC 电报增加)
MAXVERSION16版本字符串的最大长度(注意:这里可以使用全部 16 个字符!)
MAXDNCMSGSTR128主机明文消息的最大长度
LSV2_MAX_MEM_BUF255存储块的最大长度

数据类型约定

WORD 数据类型(16 位)和 LONG 数据类型(32 位)始终位于电报结构的字边界。如有必要,将插入一个虚拟字节。这是必要的,因为在软件生成时,并非所有控制单元都能在字边界之间放置 WORD 和 LONG 数据类型(所谓的字对齐)。这些数据类型以大端格式(网络字节顺序)传输:

大端格式:

  • 最高有效字节首先
  • 最低有效字节最后

当需要传输字符串(如日期名称)时,这将以空终止的 ASCII 字符串进行。字符序列原则上用空字节 (0x00) 结尾(空终止字符串)。 没有固定长度的字符序列可以在电报末尾放置,只要可能的话。仅实际的字符序列(包括空字节)被传输。不需要填充。如果在一个电报中需要传输多个作为参数的字符序列(例如在重命名文件时),这些将在电报末尾的一个字符字段中组合在一起。同样,只记录字符序列(包括空字节)而不进行填充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值