SOCKETデバイスとその接続ソケットに関する情報を返します。$ZSOCKET() 関数の書式は次のとおりです:
[参考]$ZSOCKET()
最初の式は、SOCKETデバイス名を指定します; 空の文字列は、現在のデバイス($IO)と同じ結果を返します。 最初の式が指定されていない場合、$ZSOCKET() はソケット・プール内のソケットに関する情報を返します。$ZSOCKET() 関数のSOCKETデバイス以外のデバイスを指定すると、ZSOCKETNOTSOCKエラーが発生します。$ZSOCKET() は、$PRINCIPALの入出力を別のソケット・デバイスとしてGT.Mプロセスを起動すると、$ZPIN または $ZPOUT を最初の引数として受け入れ、入力側または出力側の情報をそれぞれ提供します。次は、$PRINCIPAL入出力ソケット・デバイスのハンドルを取得する例です。
set handlein=$ZSOCKET($ZPIN,"SOCKETHANDLE",0) set handleout=$ZSOCKET($ZPOUT,"SOCKETHANDLE",0)
2番目の式は、返される情報のタイプを識別するキーワードを指定し、オプションの3番目の式は、通常、デバイスに接続されたソケットのインデックス(ゼロから始まる)を指定します; インデックスが添付されたソケットの範囲外の場合、$ZSOCKET() は空の文字列を返します。3番目の式が指定されていない場合、$ZSOCKET() は現在のソケットに関する情報を返します。無効なキーワードを使用すると、ZSOCKETATTRエラーが発生します。4番目の式は、2番目の式でDELIMITERが指定されている場合に、個々の区切り文字を指定します。詳細については、次の表を参照してください。OPEN, CLOSE, USE :ATTACH, USE :DETACHを使用してSOCKETデバイスのソケット・コレクションを変更すると、ソケットのインデックスが変更されることに注意してください。
キーワード |
引数 |
返り値 |
---|---|---|
CURRENTINDEX |
SOCKETデバイスの現在のソケットのインデックス(ゼロから始まる)。 |
|
DELIMITER |
index[, delimiter] |
インデックスのみが指定されている場合、デリミタの数。 デリミタも指定されている場合は、どのデリミタを返すかを選択します。最初の区切り文字はゼロです。 |
DESCRIPTOR |
index |
ソケットのOSソケット記述子。 |
HOWCREATED |
index |
LISTEN, CONNECT, ACCEPTED, PRINCIPAL, または PASSED PRINCIPAL は、ソケットがプロセスの $PRINCIPAL であることを示します。 PASSED は、WRITE /ACCEPT によって渡されたソケットを示します。 |
INDEX |
handle |
handle で指定されたソケットの現在のインデックス。 |
IOERROR |
index |
IOERROR=TRAP の場合は 1、そうでない場合は 0 。 |
LOCALADDRESS |
index |
ソケットのローカル側のアドレス。TCPソケットの場合:IPv4またはIPv6の数値アドレス。LOCALソケットの場合:パス。 |
LOCALPORT |
index |
TCPソケットのローカル側の数値ポート。 |
MOREREADTIME |
index |
指定されている場合は MOREREADTIME デバイスパラメータの値、それ以外の場合は空の文字列。 |
NUMBER |
SOCKETデバイスのソケット数。 |
|
PARENT |
index |
ソケットがLISTENソケットから作成された場合:LISTENソケットのハンドル。 |
PROTOCOL |
index |
TCP, TCP6, または LOCAL |
REMOTEADDRESS |
index |
ソケットのリモート側のアドレス。TCPソケットの場合:IPv4またはIPv6の数値アドレス。LOCALソケットの場合:パス。 |
REMOTEPORT |
index |
TCPソケットのリモート側の数値ポート。 |
SOCKETHANDLE |
index |
選択されたソケットのハンドル。 |
STATE |
index |
LISTENING, CONNECTED, BOUND, または CONNECTINPROGRESSの中のいづれか |
TLS |
index |
選択されたソケットがTLSを使用している場合は、1,{SERVER|CLIENT}[,tlsid] という形式の文字列です。オプションの tlsid は、ソケット上のTLSを有効にしたWRITE /TLSに由来します; それ以外の場合は空の文字列です。 |
ZBFSIZE |
index |
GT.Mバッファのサイズ(バイト単位)。 |
ZFF |
index |
ZFFデバイスパラメータの値。 |
ZIBFSIZE |
index |
OSバッファーのサイズ(バイト単位)(SO_RCVBUF)。 |
ZDELAY |
index |
Nagleアルゴリズムが有効な場合は 1、それ以外の場合は0です。 |