传输控制
连接建立、命令和请求电报将通过对方的电报进行响应。 这要么通过 (S_xx) 发送电报对 (R_xx) 请求电报进行响应,要么在 (C_xx) 命令电报中使用传输控制电报 T_OK 进行响应。 如果电报无法解释或未按顺序处理,则会发送带有相应错误信息的传输控制电报 T_ER。
块传输
如果要通过 LSV-2 协议传输的数据对于一个电报来说太长,必须将其分成多个块。 这些块将被打包成带有电报标识的电报,并依次传输给对方。 在发送新块之前,必须等待对方的肯定确认电报(T_OK)。 如果对方无法进一步处理数据块,则可以使用传输控制电报 T_BD 中断块传输。 当最后一个块被传输后,发送站通过发送传输控制电报 T_FD 通知对方。
重要常量
| 常量名称 | 值 | 描述 |
|---|---|---|
| CMD_LENGTH | 4 | LSV-2 电报命令标识的长度 |
| MAXTELEGRAMDEFAULT | 256 | 最大电报长度(如果控制单元支持,可以通过 C_CC 电报增加) |
| MAXVERSION | 16 | 版本字符串的最大长度(注意:这里可以使用全部 16 个字符!) |
| MAXDNCMSGSTR | 128 | 主机明文消息的最大长度 |
| LSV2_MAX_MEM_BUF | 255 | 存储块的最大长度 |
数据类型约定
WORD 数据类型(16 位)和 LONG 数据类型(32 位)始终位于电报结构的字边界。如有必要,将插入一个虚拟字节。这是必要的,因为在软件生成时,并非所有控制单元都能在字边界之间放置 WORD 和 LONG 数据类型(所谓的字对齐)。这些数据类型以大端格式(网络字节顺序)传输:
大端格式:
- 最高有效字节首先
- 最低有效字节最后
当需要传输字符串(如日期名称)时,这将以空终止的 ASCII 字符串进行。字符序列原则上用空字节 (0x00) 结尾(空终止字符串)。 没有固定长度的字符序列可以在电报末尾放置,只要可能的话。仅实际的字符序列(包括空字节)被传输。不需要填充。如果在一个电报中需要传输多个作为参数的字符序列(例如在重命名文件时),这些将在电报末尾的一个字符字段中组合在一起。同样,只记录字符序列(包括空字节)而不进行填充。
323

被折叠的 条评论
为什么被折叠?



