第十九章 TCP 客户端 服务器通信 - 数据包模式

文章目录

第十九章 TCP 客户端 服务器通信 - 数据包模式

数据包模式

如果未指定模式,则默认为数据包模式。如果流模式被禁用,则该模式默认为分组模式。

在分组模式中,只要有一些数据要返回,读取命令就会完成。数据包模式允许在输出缓冲区中构建整个TCP数据段,然后通过发出WRITE*-3WRITE!命令。

如果在没有要发送的字符的情况下发出WRITE*-1来启动一个TCP发送操作,则会收到一个<WRITE>错误。如果发出WRITE OF空字符串,则会收到<COMMAND>错误。

在分组模式下可以发送的字符串的最大长度为1024个字符。如果在未刷新缓冲区的情况下超过此限制,则会收到<WRITE>错误。

因为 TCP/IP 忽略长度为 0 的记录,所以如果在其中没有字符时刷新写入缓冲区,会收到 <WRITE>错误。

在服务器收到连接请求之前,从服务器到客户端的WRITE命令会在服务器上产生<WRITE> 错误。

回车模式(C模式)

此模式修改对输入和输出的回车处理。

在输出时,WRITE ! 生成"CR LF",而WRITE#生成"CR FF"

在输入时,在启用T模式的情况下,服务器尝试将相邻的CRLF或相邻的CRFF记录为$ZB中的单个终止符。如果CRLF没有在彼此的短时间间隔内到达,则将它们作为单独的终结器进行处理。默认情况下,间隔为1秒。

监控断开模式(D模式)

此模式打开或关闭异步断开监控。通过指定"D"模式字符或/POLLDISCON关键字参数来激活此模式。当指定+D时,将激活TCP断开监视;当指定-D时,将停用TCP断开监视。

当被激活时,IRIS大约每隔60秒轮询一次TCP连接。当检测到断开连接时,IRIS会发出一个<DISCONNECT>错误。在空闲作业中不会发生断开连接检测,例如被挂起命令挂起的作业或等待读取操作的作业。 IRIS在回滚操作期间挂起所有断开监视,以防止发出错误。回滚结束后, IRIS将恢复断开连接监视。此挂起既适用于激活了断开监控的当前TCP设备,也适用于连接到启用了断开监控的TCP设备的未启用断开监控的当前设备。

还可以使用 %SYSTEM.INetInfo 类的 Connected() 方法检查 TCP 断开连接。

转义序列处理模式(E模式)

当设置 E 模式时,输入流中的转义序列被解析并放入 $ZB 特殊变量中。转义序列不得超过 15 个字符,并且必须符合以下语法:

java 复制代码
esc_seq::=type1 | type2
java 复制代码
type1 ::= '['['0':'?']*['':'/']*{'@':DEL}   
type2 ::= [';'|'?'|'O']['':'/']*{'0':DEL}

这里使用的句法符号表示:

Code Desc
: x:y 表示 ASCII 序列中从 xy 的指定范围的字符。
` `
[ ] 指定指定集合的零个或一个成员。
[ ]* 指定指定集合的零个、一个或多个成员。
{ } 准确指定指定集合的一个成员。

IRIS 发现 ESCAPE 时,它最多等待 1 秒,等待剩余的转义序列到达。如果转义序列与此语法不匹配,或者如果它超过 15 个字符,或者如果有效的转义序列未在 1 秒内到达, IRIS 将部分转义序列放入 $ZB 并设置"BADESC"位( 256) 在 $ZA

相关推荐
ZFSS4 小时前
Localization Translate API 集成与使用指南
java·服务器·数据库·人工智能·mysql·ai编程
TechWayfarer4 小时前
查询IP所在地的3种方案:从API到离线库,风控场景怎么选?
开发语言·网络·python·网络协议·tcp/ip
索木木6 小时前
NCCL SHARP 和 TREE算法
java·服务器·算法
ylscode7 小时前
微软Exchange Server曝高危零日漏洞:朝鲜黑客利用“Toast攻击“入侵企业邮件系统
网络·安全·web安全
Bert.Cai7 小时前
Linux let命令详解
linux·运维·服务器
晚风予卿云月7 小时前
【Linux】环境变量概念、作用、配置与修改详解
linux·运维·服务器·环境变量
heimeiyingwang7 小时前
【架构实战】可观测性体系:从监控到全链路追踪
网络·数据库·架构
benjiangliu7 小时前
LINUX系统-17-EXT系列文件系统(二)
linux·运维·服务器
杨云龙UP7 小时前
Linux 根分区被日志吃满?一次 58G Broker 日志清理实战_2026-05-20
linux·运维·服务器·数据库·hdfs·apache
ㄣ知冷煖★8 小时前
统一网关架构实践:从 Token 鉴权到路由、策略与凭证池转发全链路解析
java·服务器·架构