第十九章 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

相关推荐
远游客07134 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
fantasy_arch5 小时前
CPU性能优化-磁盘空间和解析时间
网络·性能优化
LIKEYYLL6 小时前
GNU Octave:特性、使用案例、工具箱、环境与界面
服务器·gnu
云云3217 小时前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云3217 小时前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵
CircleMouse7 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
是Dream呀7 小时前
Python从0到100(七十八):神经网络--从0开始搭建全连接网络和CNN网络
网络·python·神经网络
木子Linux8 小时前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
kaixin_learn_qt_ing8 小时前
了解RPC
网络·网络协议·rpc
不惑_8 小时前
小白入门 · 腾讯云轻量服务器部署 Hadoop 3.3.6
服务器·hadoop·腾讯云