$K[EY] は、現在のデバイスから最新のREADコマンドを終了する文字列(文字の先頭と終端を含む)を含みます。現在のデバイスに対してREADコマンドが発行されなかった場合、またはターミネータが使用されていない場合、$KEYの値は空の文字列です。しかし、入力がファンクションキー入力で終了した時、$KEYの値は、そのファンクションキーによって送信される文字の文字列に等しいです。
$KEYでの READ *glvn の効果は不定です。
端末の場合、$KEYと$ZBの両方にターミネータがあります。
注意 | |
---|---|
READとWRITEコマンドについては、第6章:" コマンド " を参照してください。 |
SOCKETの場合:
$KEY には、ソケット・ハンドルと、特定のI / Oコマンドの後の現在のSOCKETデバイスの状態情報が含まれています。
LISTENデバイスパラメータでOPENまたはUSEが成功した後、$KEYにはTCPソケットが含まれます。
"LISTENING|<socket_handle>|<portnumber>"
LOCALソケットの場合:
"LISTENING|<socket_handle>|<address>"
CONNECTデバイス・パラメータでOPENまたはUSEが成功した後、または$PRINCIPALデバイスとしてソケットを使用してGT.Mが起動された場合、$KEYには以下が含まれます:
"ESTABLISHED|<socket handle>|<address>"
WRITE /WAIT が着信接続を選択すると、$KEYには以下が含まれます:
"CONNECT|<socket_handle>|<address>"
WRITE /WAIT が読み込み可能なデータを持つソケットを選択すると、$KEYには以下が含まれます:
"READ|<socket_handle>|<address>"
TCPソケットの場合、<address> は接続のリモート・エンドのIPアドレスです。LOCALソケットの場合、ソケットへのパスです。
TCP LISTENINGソケットの場合、<portnumber> はsocket_handleが着信接続をリスンするローカルポートです。LOCAL LISTENINGソケットの場合は、ソケットのパスです。
WRITE /WAITがタイムアウトした場合、待ち時間がタイムアウトしたか、確立された接続がなかった場合、$KEYは空の値を返します。$KEYは、WRITE /WAITの直後に、選択されたハンドルがあればそれを持ちます。$KEYは、READなどの他のソケット入出力コマンドでも使用され、デリミタまたは不正なUnicode文字があれば、読み込みを終了します。