第二十五章 TCP 客戶端 服務器通信 - TCP 設備的 READ 命令
TCP 設備的 READ
命令
從服務器或客戶端發(fā)出 READ
命令以讀取客戶端或服務器設置的任何字符解阅。
語法如下:
READ var:timeout
READ *var:timeout
READ var#length:timeout
超時參數雖然是可選的,但強烈建議使用,因為如果指定了超時,則 READ
的成功或失敗由 $TEST
特殊變量的值指示。如果在超時到期之前讀取嘗試成功赊瞬,則 $TEST
設置為 1
;如果超時到期,$TEST
設置為 0
豹障。
超時參數支持秒和秒的分數到 1/100
秒。例如焦匈,10
血公、10.5
、.5
缓熟、.05
累魔。
對于 SSL
連接摔笤,如果連接建立后另一方從未發(fā)出讀或寫命令,則作業(yè)可以等待第一個讀或第一個寫命令薛夜。在這種情況下籍茧, IRIS
支持 READ
命令的讀取超時和 WRITE
命令的寫入超時(使用 /WRITETIMEOUT=n
選項)。如果沒有指定讀或寫超時梯澜,則作業(yè)將等待寞冯,直到對方發(fā)出讀或寫命令。
可以使用 %SYSTEM.INetInfo
類的 TCPStats()
方法確定當前 TCP
連接執(zhí)行的讀取次數晚伙。
READ
修改 $ZA
和 $ZB
應用程序可以通過測試 $ZA
和 $ZB
的值來了解連接和讀取是如何成功的吮龄。
$ZA
和 READ
命令
$ZA
報告連接狀態(tài)。當設置 0x1000
位 (4096
) 時咆疗,此 TCP
設備在服務器模式下運行漓帚。當設置 0x2000
位 (8192
) 時,設備當前處于與遠程主機通信的連接狀態(tài)午磁。
$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. |