第十八章 TCP 客户端 服务器通信 - 使用OPEN命令 - Supported参数

文章目录

  • [第十八章 TCP 客户端 服务器通信 - 使用OPEN命令 - Supported参数](#第十八章 TCP 客户端 服务器通信 - 使用OPEN命令 - Supported参数)
      • [`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、LFFF 控制字符用作读取终止符。
    • W---等待模式。在这种模式下,WRITE !WRITE # 命令不会导致 TCP 设备刷新网络输出缓冲区。等待模式导致 TCP 设备等待,直到下一个 WRITE *-3 命令刷新缓冲区并传输数据。
  • terminators - 可选-最多包含八个用户终止符的列表,这些字符将终止在TCP绑定设备上的读取。如果同时指定T模式和终止符,则会忽略T模式。

  • ibufsiz - 可选-输入缓冲区大小。在内部,已从网络读取但尚未传送到 IRIS程序的字符缓冲在可保存ibufsiz字节的数据区中。

  • obufsiz - 可选-输出缓冲区大小。在连续的"SEND"操作之间,TCP设备可以缓冲的最大数据量。发送操作意味着将缓存的数据发送到网络。WRITE!WRITE#WRITE*-3命令可以生成发送操作。

    指定S模式时,会自动生成发送操作,以便在输出缓冲区太满时发送输出缓冲区的内容。但是,在完成消息创建后,程序员仍必须使用其中一个发送操作来确保消息已发送。

    当未指定S模式时,如果写入操作将在缓冲区中放置足够的数据以超过输出缓冲区大小,则会发生<WRITE>错误。请注意,尝试写入本身比输出缓冲区大小更长的字符串总是失败。

  • queuesize - 可选-一个整数,指定有多少客户端作业可以排队等待与服务器的连接。仅用于服务器端打开。默认值为5。最大值取决于TCP实施,但不能超过1000

  • keepalivetime - 可选-(仅限WindowsAIXLinux)允许为此设备设置不同于系统默认的保活计时器。指定使TCP连接保持活动状态的整数秒。有效值介于30432000之间。(432000秒等于5天。)。小于30的值默认为30。如果省略或设置为0,则使用系统范围的默认保活计时器。有关详细信息,请参见/KEEPALIVE关键字选项。

    TCP设备打开时,保活计时器不一定开始计时。它通常在连接已建立时开始计时。也就是说,当初始读取连接已成功完成时。

相关推荐
Trouvaille ~几秒前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议
allway26 分钟前
基于华为taishan200服务器、arm架构kunpeng920 cpu的虚拟化实战
linux·运维·服务器
Junlan277 分钟前
Cursor使用入门及连接服务器方法(更新中)
服务器·人工智能·笔记
CSCN新手听安7 分钟前
【linux】高级IO,I/O多路转接之poll,接口和原理讲解,poll版本的TCP服务器
linux·运维·服务器·c++·计算机网络·高级io·poll
熊文豪7 分钟前
服务器炸了才知道?Ward+cpolar让异常无处藏
运维·服务器·cpolar
杜子不疼.9 分钟前
【Linux】教你在 Linux 上搭建 Web 服务器,步骤清晰无门槛
linux·服务器·前端
荔枝吻10 分钟前
忘记服务器密码,在Xshell7中查看已保存密码
运维·服务器·github
码农阿豪10 分钟前
多服务器批量指令管理:从Xshell到自动化运维
运维·服务器·自动化
Pocker_Spades_A12 分钟前
在家也能连公司服务器写代码?GoLand+CPolar 远程开发实测
运维·服务器
CSCN新手听安12 分钟前
【linux】网络基础(三)TCP服务端网络版本计算器的优化,Json的使用,服务器守护进程化daemon,重谈OSI七层模型
linux·服务器·网络·c++·tcp/ip·json