文章目录
- [第二十五章 TCP 客户端 服务器通信 - TCP 设备的 READ 命令](#第二十五章 TCP 客户端 服务器通信 - TCP 设备的 READ 命令)
- [TCP 设备的 `READ` 命令](#TCP 设备的
READ
命令) -
- [`READ` 修改 `ZA\` 和 \`ZB`](#
READ
修改$ZA
和$ZB
) -
- [`ZA\` 和 \`READ\` 命令](#`ZA` 和 `READ` 命令)
- [`READ` 修改 `ZA\` 和 \`ZB`](#
第二十五章 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
秒。例如,10
、10.5
、.5
、.05
。
对于 SSL
连接,如果连接建立后另一方从未发出读或写命令,则作业可以等待第一个读或第一个写命令。在这种情况下, IRIS
支持 READ
命令的读取超时和 WRITE
命令的写入超时(使用 /WRITETIMEOUT=n
选项)。如果没有指定读或写超时,则作业将等待,直到对方发出读或写命令。
可以使用 %SYSTEM.INetInfo
类的 TCPStats()
方法确定当前 TCP
连接执行的读取次数。
READ
修改 $ZA
和 $ZB
应用程序可以通过测试 $ZA
和 $ZB
的值来了解连接和读取是如何成功的。
$ZA
和 READ
命令
$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. |