オブジェクトソケット
ネットワークソケットオブジェクト
ソケットが属するnetモジュール、作成方法
1var s = new net.Socket();
相続関係
コンストラクタ
Socket
ソケット コンストラクター、新しいソケット オブジェクトを作成します
1new Socket(Integer family = net.AF_INET);
呼び出しパラメータ:
- family: 整数、アドレス セットを指定します。デフォルトは AF_INET、ipv4 です。
メンバーのプロパティ
family
整数、現在の Socket オブジェクトのアドレス セットをクエリします
1readonly Integer Socket.family;
remoteAddress
文字列、現在の接続の相手のアドレスを問い合わせる
1readonly String Socket.remoteAddress;
remotePort
整数、現在接続されているピア ポートをクエリします
1readonly Integer Socket.remotePort;
localAddress
文字列、現在の接続のローカル アドレスをクエリします。
1readonly String Socket.localAddress;
localPort
整数、現在の接続のローカル ポートをクエリします。
1readonly Integer Socket.localPort;
timeout
整数、クエリおよびタイムアウト単位の設定 (ミリ秒)
1Integer Socket.timeout;
fd
整数、クエリStreamサブクラスによって実装される、対応するファイル記述子の値
1readonly Integer Socket.fd;
メンバー関数
connect
TCP接続を確立する
1
2
3Socket.connect(String host,
Integer port,
Integer timeout = 0) async;
呼び出しパラメータ:
- host: 文字列。相手のアドレスまたはホスト名を指定するか、UNIX ソケットおよび Windows パイプ パスを指すこともできます。
- port: 相手のポートを指定する整数 Unix ソケットと Windows パイプを接続する場合、このパラメータは 0 である必要があります
- timeout: 整数、タイムアウトを指定します。単位はミリ秒です。デフォルトは 0 です。
bind
現在のソケットをすべてのローカル アドレスの指定されたポートにバインドします
1
2Socket.bind(Integer port,
Boolean allowIPv4 = true);
呼び出しパラメータ:
- port: 整数、バインドされたポートを指定します
- allowIPv4: ブール値。IPv4 接続を受け入れるかどうかを指定します。デフォルトは true です。このパラメータは ipv6 に対して有効であり、オペレーティング システムによって異なります。
現在のソケットを指定されたアドレスの指定されたポートにバインドします
1
2
3Socket.bind(String addr,
Integer port = 0,
Boolean allowIPv4 = true);
呼び出しパラメータ:
- addr: 文字列。バインディング アドレスを指定し、UNIX ソケットおよび Windows パイプ パスを指すこともできます。
- port: 整数、バインドされたポートを指定します。UNIX ソケットと Windows パイプをバインドする場合、このパラメータは無視されます。
- allowIPv4: ブール値。IPv4 接続を受け入れるかどうかを指定します。デフォルトは true です。このパラメータは ipv6 に対して有効であり、オペレーティング システムによって異なります。
listen
接続リクエストのリスニングを開始する
1Socket.listen(Integer backlog = 120);
呼び出しパラメータ:
- backlog: 整数。リクエスト キューの長さを指定します。制限を超えるリクエストは拒否されます。デフォルトは 120 です。
accept
接続を待って受け入れます
1Socket Socket.accept() async;
返される結果:
- Socket、受信した接続オブジェクトを返します。
recv
指定されたサイズのデータを接続から読み取ります。read メソッドとは異なり、recv は必要なデータが読み取られたことを保証しませんが、データの読み取り後すぐに戻ります。
1Buffer Socket.recv(Integer bytes = -1) async;
呼び出しパラメータ:
- bytes: 整数で、読み取られるデータの量を指定します。デフォルトでは、任意のサイズのデータが読み取られます。
返される結果:
- Buffer、接続から読み取られたデータを返します
send
指定されたデータを接続に書き込みます。このメソッドは write メソッドと同等です。
1Socket.send(Buffer data) async;
呼び出しパラメータ:
- data:Buffer、書き込まれるデータが与えられると、
read
ストリームから指定されたサイズのデータを読み取ります
1Buffer Socket.read(Integer bytes = -1) async;
呼び出しパラメータ:
- bytes: 整数。読み取られるデータの量を指定します。デフォルトでは、ランダムなサイズのデータ ブロックが読み取られます。読み取られるデータのサイズはデバイスによって異なります。
返される結果:
- Bufferは、ストリームから読み取られたデータを返します。読み取るデータがない場合、または接続が中断された場合は、null が返されます。
write
指定されたデータをストリームに書き込みます
1Socket.write(Buffer data) async;
呼び出しパラメータ:
- data:Buffer、書き込まれるデータが与えられると、
flush
ファイルバッファの内容を物理デバイスに書き込む
1Socket.flush() async;
close
現在のストリーム オブジェクトを閉じる
1Socket.close() async;
copyTo
ストリーム データをターゲット ストリームにコピーする
1
2Long Socket.copyTo(Stream stm,
Long bytes = -1) async;
呼び出しパラメータ:
- stm:Stream、ターゲットストリームオブジェクト
- bytes: Long、コピーされたバイト数
返される結果:
- Long、コピーされたバイト数を返します
toString
オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。
1String Socket.toString();
返される結果:
- String、オブジェクトの文字列表現を返します。
toJSON
オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。
1Value Socket.toJSON(String key = "");
呼び出しパラメータ:
- key: 文字列、使用されません
返される結果:
- Value、シリアル化可能な JSON を含む値を返します