文章目录
- 第十八章 TCP 客户端 服务器通信 - 使用OPEN命令 - Supported参数
- `Supported` 参数
第十八章 TCP 客户端 服务器通信 - 使用OPEN命令 - Supported参数
Supported
参数
parameters
参数可以是以下格式之一:
hostname
(hostname{:port{:mode{:terminators{:ibufsiz{:obufsiz{:queuesize{:keepalivetime}}}}}}})
parameters
参数中的参数如下:
-
hostname
- 可选 —IP
主机的名称、IPv4
协议格式的IP
地址或IPv6
协议格式的IP
地址。指定为带引号的字符串。客户端OPEN
需要主机名;对于服务器端OPEN
,省略(由占位符冒号表示)。 -
port
- 可选 — 如果存在,这是用于连接的TCP
端口号。如果此端口号为空或省略,则端口号从设备名称的数字部分派生。该参数可以是十进制的端口号,也可以是服务名,提交给本地系统的TCP
服务名解析器。 -
mode
- 可选——用引号括起来的字母代码字符的字符串。字母代码可以按任何顺序指定;由于IRIS
按从左到右的顺序执行字母代码,因此字母代码之间的交互在某些情况下可能决定首选顺序。默认为数据包模式。模式字符串可以由以下一个或多个字母代码组成:A
-接受模式。如果A处于打开状态,则在接受来自客户端作业的连接后,服务器上的初始读取将立即以零长度字符串终止。如果A为OFF,则读取将被阻止,直到超时或数据可用(以最先发生的为准)。C
-参见下面的回车模式。D
-参见下面的断开模式监控。E
-参见下面的转义序列处理模式。G
-使端口参数被解释为已打开的数据套接字的套接字描述符。M
-流模式下的标准IRIS
设备。此模式是调用“PSTE”
选项集的快捷方式。它产生了一种设备,其作用类似于标准的IRIS
设备,可用于在两个方向上传递任意行数据。可以打开流模式,以便可以发送或接收任意序列的字符串,而不会使缓冲区溢出。换行符被添加到输出,并从输入中删除。读命令会一直阻塞,直到出现以下情况之一:出现终止符、达到超时时间或已填满指定的读长度。P
- 使用记录终止字符填充输出。设置此模式后,WRITE !
除了刷新写入缓冲区外,还发送LF
(换行)和WRITE #
发送FF
(换页)。WRITE *-3
命令可用于启动缓冲数据的发送,而无需将任何字符插入数据流。请注意WRITE *-3
只是刷新写入缓冲区而不发送任何终止符,因此不会向接收程序发出数据已完成的信号。WRITE *-3
更常用于Wait (W)
模式,不需要终止符。Q
—请参阅下面的立即发送模式。S
—参见下面的流模式。T
—输入端的标准终止符。设置时,CR、LF
和FF
控制字符用作读取终止符。W
—等待模式。在这种模式下,WRITE !
和WRITE #
命令不会导致TCP
设备刷新网络输出缓冲区。等待模式导致TCP
设备等待,直到下一个WRITE *-3
命令刷新缓冲区并传输数据。
-
terminators
- 可选-最多包含八个用户终止符的列表,这些字符将终止在TCP
绑定设备上的读取。如果同时指定T
模式和终止符,则会忽略T
模式。 -
ibufsi
z - 可选-输入缓冲区大小。在内部,已从网络读取但尚未传送到IRIS
程序的字符缓冲在可保存ibufsiz
字节的数据区中。 -
obufsiz
- 可选-输出缓冲区大小。在连续的“SEND”
操作之间,TCP
设备可以缓冲的最大数据量。发送操作意味着将缓存的数据发送到网络。WRITE!
、WRITE#
和WRITE*-3
命令可以生成发送操作。指定
S
模式时,会自动生成发送操作,以便在输出缓冲区太满时发送输出缓冲区的内容。但是,在完成消息创建后,程序员仍必须使用其中一个发送操作来确保消息已发送。当未指定
S
模式时,如果写入操作将在缓冲区中放置足够的数据以超过输出缓冲区大小,则会发生<WRITE>
错误。请注意,尝试写入本身比输出缓冲区大小更长的字符串总是失败。 -
queuesize
- 可选-一个整数,指定有多少客户端作业可以排队等待与服务器的连接。仅用于服务器端打开。默认值为5
。最大值取决于TCP
实施,但不能超过1000
。 -
keepalivetime
- 可选-(仅限Windows
、AIX
和Linux
)允许为此设备设置不同于系统默认的保活计时器。指定使TCP
连接保持活动状态的整数秒。有效值介于30
到432000
之间。(432000
秒等于5
天。)。小于30
的值默认为30
。如果省略或设置为0,则使用系统范围的默认保活计时器。有关详细信息,请参见/KEEPALIVE
关键字选项。当
TCP
设备打开时,保活计时器不一定开始计时。它通常在连接已建立时开始计时。也就是说,当初始读取连接已成功完成时。