第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字

embedded/2024/11/17 7:20:12/

文章目录

  • 第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字
  • `TCP`设备的`OPEN`和`USE`命令关键字
        • `TCP`设备的`OPEN`和`USE`命令关键字

第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字

TCP设备的OPENUSE命令关键字

可以使用位置参数(如上所述)或关键字参数。下表描述了使用OPENUSE命令控制TCP设备的关键字。还有其他只能在OPEN命令中指定的OPEN-only关键字(本章稍后将描述)。所有关键字参数都是可选的。

TCP设备的OPENUSE命令关键字
KeywordDefaultDescription
/ABSTIMEOUT[=1]0指定读超时行为。确定TCP在接收到数据时是否应重新初始化超时时间。如果/ABSTIMEOUT=0(默认值),则每次接收数据时timeout都会重置为原始值。如果/ABSTIMEOUT/ABSTIMEOUT=1,则在接收数据时超时时间继续倒数。
/ACCEPT[=n] or /ACC[=n]0对应于“A”模式参数字符,该参数指定一旦接受来自客户端作业的连接,服务器上的初始读取就以零长度字符串终止。/ACCEPT/ACCEPT=n对于n的非零值启用A模式。/ACCEPT=n表示零值n禁用a模式。
/CLOSEFLUSH[=n]1指定当设备关闭时,对保留在输出缓冲区中的数据的处理。/CLOSEFLUSH/CLOSEFLUSH=n对于n的非零值将刷新剩余数据。/CLOSEFLUSH=n表示n为零时丢弃剩余数据。
/COMPRESS=str""指定流数据压缩类型。可以启用压缩类型为ZLIBZSTD。可以指定/COMPRESS=""来禁用压缩。/COMPRESS="zlib"等价于/GZIP=1。要压缩字符串,使用%SYSTEM.Util.Compress()
/CRLF[=n]0对应于“C”模式参数字符,它修改输入和输出时回车的处理。/CRLF/CRLF=nn的非零值启用C模式。/CRLF=n对于零值n禁用C模式。
/ESCAPE[=n]or/ESC[=n]0对应于“E”模式参数字符,它指定输入流中的转义序列被解析并放入$ZB中。/ESCAPE/ESCAPE=n对于n的非零值启用E模式。/ESCAPE=n对于零值n禁用E模式。
/GZIP[=n]1指定兼容gzip的流数据压缩。/GZIP/GZIP=n(对于n的非零值)在WRITE时进行压缩,在READ时进行解压缩。/GZIP=0禁用压缩和解压。在发出/GZIP=0来禁用压缩和解压之前,检查$ZEOS特殊变量以确保流数据读取没有进行。/GZIP压缩对I/O转换没有影响,例如使用/IOTABLE建立的转换。这是因为压缩是在所有其他转换(加密除外)之后应用的,而解压是在所有其他转换(加密除外)之前应用的。
/IOTABLE[=name]or/IOT[=name]如果不指定name,则使用设备默认的I/O转换表。为设备建立I/O转换表。
/KEEPALIVE=n系统默认值(仅适用于WindowsAIXLinux)为设备设置不同于系统默认值的保活定时器。一个整数,指定TCP连接保持活跃的秒数。与位置参数keepalivetime相同。有效值为30 ~ 432000。(432000秒等于5天。)小于30的值默认为30。如果省略或设置为0,则使用系统默认值。可以使用/NOKEEPALIVE禁用此设置;一旦禁用,它就不能重新启用,直到这个TCP设备被关闭。
/NODELAY=n1指定数据包是捆绑发送还是单独发送。如果/NODELAY=1(缺省值),则立即发送每个数据包。如果/NODELAY=0, TCP驱动程序使用优化算法将包捆绑在一起。这可能会对单个数据包造成轻微的传输延迟,但通过减少网络流量,可以提高整体性能。/NODELAY没有对应的模式参数字符。/NODELAY的使用应该与/SENDIMMEDIATE的使用协调。
/NOKEEPALIVE如果指定该参数,则在此设备上禁用系统级TCP keepalive定时器。 IRIS在打开任何TCP设备时默认启用此定时器;在OPENUSE上发出/NOKEEPALIVE选项会覆盖这个默认值。如果/KEEPALIVE已被用于设置非默认的KEEPALIVE定时器,/NOKEEPALIVE将禁用该KEEPALIVE定时器。一旦禁用了keepalive定时器,就没有办法重新启用它,直到TCP设备关闭。看到/ KEEPALIVE
/NOXY[=n]0禁止$X$Y处理:/NOXY/NOXY=n(对于n的非零值)禁用$X$Y处理。当设备$X/$Y未被使用时,该选项可以提高性能,例如CSP。它可以极大地提高READWRITE操作的性能。此选项是超级服务器工作作业的默认设置。当/NOXY=1时,$X$Y变量的值是不确定的,保证金处理(取决于$X)被禁用。/NOXY=0启用$X$Y处理;这是默认值。/TCPNOXY/NOXY的同义词。
/OBCOUNT=n16用于/ZEROCOPY的输出缓冲区数量。输出缓冲区的默认数量是16。输出缓冲区的最小数量是2,最大数量是128n的值必须是2的幂;如果指定了非2的幂值,则将其四舍五入为2的幂。
/PAD[=n]0对应于" P "模式参数字符,该参数指定当WRITE !(LF结束符)或writ# (FF结束符)被执行。/PAD/PAD=n为n的非零值启用P模式。/PAD=n对于零值n禁用P模式。
/PARAMS=str or /PAR=str没有默认对应于模式位置参数。(它提供了一种以位置无关的方式指定模式字符串的方法。)
/POLL[=n] or /POLLDISCON[=n]对应于“D”模式参数字符,它指定断开连接的异步监视。/POLL/POLL=1对应+D/POLL=0对应-D
/PSTE[=n]0对应于“M”模式参数字符,这是指定P、S、T和E模式参数字符的一种简便方法。/PSTE/PSTE=n的非零值n启用P, S, T和E模式。/PSTE=n对于零值n禁用这些模式。
/SENDIMMEDIATE[=n] or /SEN[=n]0对应于“Q”模式参数字符,它指定发送立即模式。
`/SSL="cfg[pw] [DNShost]" or /TLS="cfg[
/STREAM[=n] or /STR[=n]0对应于“S”模式参数字符,它指定了一种不保留 TCP 消息边界的处理数据的流模式。 /STREAM/STREAM=n 对于 n 的非零值启用 S 模式。 /STREAM=n 对于 n 的零值禁用 S 模式。
/TCPNOXY已弃用。 /NOXY 的同义词。
/TCPRCVBUF=n默认接收缓冲区大小设置接收队列缓冲区大小,以字节为单位。可用于从默认值增加缓冲区大小以支持 TCP 协议大窗口。大窗口提高了具有长延迟或非常高带宽的链路的性能。有关适当的值,请参阅您的操作系统/硬件文档。
/TCPSNDBUF=n默认发送缓冲区大小设置发送队列缓冲区大小,以字节为单位。可用于从默认值增加缓冲区大小以支持 TCP 协议大窗口。大窗口提高了具有长延迟或非常高带宽的链路的性能。
/TERMINATOR=str or /TER=str无默认对应于 terminators 位置参数,它建立用户定义的终止符。
/TMODE[=n] or /TMO[=n]0对应“T”模式参数字符,指定CR、LF、FF为标准读终止符。 /TMODE/TMODE=n 对于 n 的非零值启用 T 模式。 /TMODE=n 对于 n 的零值禁用 T 模式。
/TRANSLATE[=n] or /TRA[=n]1/TRANSLATE/TRANSLATE=n 对于 n 的非零值启用设备的 I/O 转换。 /TRANSLATE=n 对于 n 的零值禁用设备的 I/O 转换。
/WAIT[=n]0对应于“W”模式参数字符,这会导致输出缓冲区不被 WRITE 刷新!和 WRITE # 命令。相反,刷新会等到下一个 WRITE *-3 命令。 /WAIT/WAIT=n 对于 n 的非零值启用 W 模式。 /WAIT=n 对于 n 的零值禁用 W 模式。
/WRITETIMEOUT[=n]1TCP写操作建立超时时间(以秒为单位)。如果写操作没有在n秒内完成, IRIS将发出<TCPWRITE>错误。如果发出<TCPWRITE>错误,应用程序应该立即关闭TCP设备以防止数据丢失。在<TCPWRITE>错误后, IRIS将不会尝试TCP写操作。最小n值与系统相关。如果n小于该平台的最小超时值, IRIS将使用该平台的最小超时值。n不能小于2。默认值(-1)表示不强制执行超时。
/XYTABLE[=name] or /XYT[=name]如果不指定name,则使用设备默认的$X/$Y动作表。为设备建立一个$X/$Y操作表。
/ZEROCOPY[=bool]0如果指定了/ZEROCOPY/ZEROCOPY=1,则开启该TCP设备的ZEROCOPY特性。ZEROCOPY支持TCP设备的多个输出缓冲区,以便在send()上利用MSG_ZEROCOPY;TCP设备不能重用输出缓冲区,直到缓冲区被TCP堆栈的通知确认。使用/OBCOUNT关键字为TCP设备设置输出缓冲区的数量。如果指定/ZEROCOPY=0,则关闭此TCP设备的ZEROCOPY特性。Linux 4.15及以上版本支持MSG_ZEROCOPY。如果操作系统不支持MSG_ZEROCOPY,则TCP设备的ZEROCOPY始终处于关闭状态。

http://www.ppmy.cn/embedded/138197.html

相关文章

python爬虫获得店铺的所有商品

在编写Python爬虫以获取店铺的所有商品信息时&#xff0c;通常涉及到发送HTTP请求、解析响应内容以及处理API返回的数据。以下是一个详细的Python爬虫示例&#xff0c;用于获取店铺的商品信息。这个示例假设API返回的是JSON格式的数据&#xff0c;并且需要API密钥进行认证。 步…

mybatis在mapper.xml中怎么处理大于、小于、不等于号

第一种方法&#xff1a; 使用转义字符 大于号>>大于等于号>>小于号<< 小于等于号<<与&&amp;双引号"&quot;单引号&apos; 第二种方法&#xff1a; 使用<![CDATA[ ]]> 因为xml格式遇到这种格式会把方括号里的内容原样输…

2024华为java面经

华为2024年Java招聘面试题目可能会涵盖Java基础知识、核心技术、框架与工具、项目经验以及算法与数据结构等多个方面。以下是考的内容。 一、Java基础知识 Java中有哪些基本数据类型&#xff1f; Java为什么能够跨平台运行&#xff1f; String是基本数据类型吗&#xff1f;能…

相机光学(四十四)——ALL-PD和PDAF

1.PDAF&#xff08;Phase Detection Auto Focus&#xff09; PDAF是相位检测自动对焦技术的缩写&#xff0c;它是一种在数码相机和智能手机摄像头中使用的自动对焦技术。   PDAF的原理是根据CIS&#xff08;CMOS图像传感器&#xff09;不同像素的相位差信息&#xff0c;判断出…

Ubuntu23.10下解决C语言调用mysql.h问题

Ubuntu23.10下解决C语言调用mysql.h问题 导语环境准备问题和解决方案总结参考文献 导语 在学习C语言和MySQL的调用的时候遇到包和版本的问题&#xff0c;由于使用的书很老&#xff08;10年的&#xff09;&#xff0c;因此很多MySQL的包已经过时&#xff0c;在查找很多资料和询…

算法【Java】—— 动态规划之简单多状态 dp 问题

按摩师 https://leetcode.cn/problems/the-masseuse-lcci 状态表示&#xff1a;根据经验和题目要求&#xff0c;达到 i 位置的时候&#xff0c;预约时间最长 接着我们细分状态表示&#xff1a;在遍历数组的时候&#xff0c;到达 i 位置的时候&#xff0c;又两种情况&#xff…

ui->tableView升序

亮点 //设置可排序ui->tableView->setSortingEnabled(true);ui->tableView->sortByColumn(0,Qt::AscendingOrder); //排序void Widget::initTable() {//设置焦点策略:ui->tableView->setFocusPolicy(Qt::NoFocus);//显示网格线:ui->tableView->se…

小版本大不同 | Navicat 17 新增 TiDB 功能

近日&#xff0c;Navicat 17 迎来了小版本更新。此次版本新增了对 PingCap 公司的 TiDB 开源分布式关系型数据库的支持&#xff0c;进一步拓展了 Navicat 的兼容边界。即日起&#xff0c;Navicat 17 所有用户可免费升级至最新版本&#xff0c;通过 Navicat 工具实现 TiDB 数据库…