第二十五章 TCP 客户端 服务器通信 - TCP 设备的 READ 命令

文章目录

  • [第二十五章 TCP 客户端 服务器通信 - TCP 设备的 READ 命令](#第二十五章 TCP 客户端 服务器通信 - TCP 设备的 READ 命令)
  • [TCP 设备的 `READ` 命令](#TCP 设备的 READ 命令)
    • [`READ` 修改 `ZA\` 和 \`ZB`](#READ 修改 $ZA$ZB)
      • [`ZA\` 和 \`READ\` 命令](#`ZA` 和 `READ` 命令)

第二十五章 TCP 客户端 服务器通信 - TCP 设备的 READ 命令

TCP 设备的 READ 命令

从服务器或客户端发出 READ 命令以读取客户端或服务器设置的任何字符。

语法如下:

java 复制代码
READ var:timeout 
READ *var:timeout
READ var#length:timeout

超时参数虽然是可选的,但强烈建议使用,因为如果指定了超时,则 READ 的成功或失败由 $TEST 特殊变量的值指示。如果在超时到期之前读取尝试成功,则 $TEST 设置为 1;如果超时到期,$TEST 设置为 0

超时参数支持秒和秒的分数到 1/100 秒。例如,1010.5.5.05

对于 SSL 连接,如果连接建立后另一方从未发出读或写命令,则作业可以等待第一个读或第一个写命令。在这种情况下, IRIS 支持 READ 命令的读取超时和 WRITE 命令的写入超时(使用 /WRITETIMEOUT=n 选项)。如果没有指定读或写超时,则作业将等待,直到对方发出读或写命令。

可以使用 %SYSTEM.INetInfo类的 TCPStats() 方法确定当前 TCP 连接执行的读取次数。

READ 修改 $ZA$ZB

应用程序可以通过测试 $ZA$ZB 的值来了解连接和读取是如何成功的。

$ZAREAD 命令

$ZA 报告连接状态。当设置 0x1000 位 (4096) 时,此 TCP 设备在服务器模式下运行。当设置 0x2000 位 (8192) 时,设备当前处于与远程主机通信的连接状态。

$ZA Value $TEST Value Meaning
4096 0 未接受任何连接。
12288 0 已接受连接,但未收到数据。
12288 1 已接受连接并收到数据。

下表显示了 $ZA 中的每一位代表什么。

$ZA 的十进制值 $ZA 的十六进制值 Meaning
2 0x2 读取超时。
4 0x4 I/O error.
256 0x80 收到错误的转义序列。
4096 0x1000 Server mode.
8192 0x2000 Connected.
相关推荐
mzhan01721 分钟前
Linux: signal: SIGALRM; alarm: ITIMER_REAL
linux·运维·服务器
●VON35 分钟前
纯ArkUI实现7层拟物3D环形进度图:零依赖的视觉革命
服务器·3d·app·鸿蒙·von
mzhan01737 分钟前
Linux: compare的直观性
java·linux·服务器
爱喝水的鱼丶43 分钟前
SAP-ABAP:SAP 与 ABAP 关联逻辑与入门路径:业务×开发的协作指南
服务器·前端·数据库·学习·sap·abap
原来是猿1 小时前
TCP Server 业务扩展实战:从 Echo 到远程命令执行与词典翻译
linux·运维·服务器
原来是猿2 小时前
TCP Echo Server 深度解析:从单进程到线程池的演进之路(上)
服务器·网络·tcp/ip
躺不平的理查德2 小时前
Shell逻辑判断备忘录
运维·服务器·git
skywalk81632 小时前
Trae生成的中文编程语言关键字(如“定“、“函“、“印“等)需要和标识符之间用 空格 隔开,以确保正确识别
服务器·开发语言·编程
焦糖玛奇朵婷2 小时前
健身房预约小程序开发、设计
java·大数据·服务器·前端·小程序
Liangwei Lin3 小时前
LeetCode 76. 最小覆盖子串
运维·服务器