オブジェクト組み込みオブジェクト

オブジェクトソケット

ネットワークソケットオブジェクト

ソケットが属するnetモジュール、作成方法

1
var s = new net.Socket();

相続関係

コンストラクタ

Socket

ソケット コンストラクター、新しいソケット オブジェクトを作成します

1
new Socket(Integer family = net.AF_INET);

呼び出しパラメータ:

  • family: 整数、アドレス セットを指定します。デフォルトは AF_INET、ipv4 です。

メンバーのプロパティ

family

整数、現在の Socket オブジェクトのアドレス セットをクエリします

1
readonly Integer Socket.family;

remoteAddress

文字列、現在の接続の相手のアドレスを問い合わせる

1
readonly String Socket.remoteAddress;

remotePort

整数、現在接続されているピア ポートをクエリします

1
readonly Integer Socket.remotePort;

localAddress

文字列、現在の接続のローカル アドレスをクエリします。

1
readonly String Socket.localAddress;

localPort

整数、現在の接続のローカル ポートをクエリします。

1
readonly Integer Socket.localPort;

timeout

整数、クエリおよびタイムアウト単位の設定 (ミリ秒)

1
Integer Socket.timeout;

fd

整数、クエリStreamサブクラスによって実装される、対応するファイル記述子の値

1
readonly Integer Socket.fd;

メンバー関数

connect

TCP接続を確立する

1 2 3
Socket.connect(String host, Integer port, Integer timeout = 0) async;

呼び出しパラメータ:

  • host: 文字列。相手のアドレスまたはホスト名を指定するか、UNIX ソケットおよび Windows パイプ パスを指すこともできます。
  • port: 相手のポートを指定する整数 Unix ソケットと Windows パイプを接続する場合、このパラメータは 0 である必要があります
  • timeout: 整数、タイムアウトを指定します。単位はミリ秒です。デフォルトは 0 です。

bind

現在のソケットをすべてのローカル アドレスの指定されたポートにバインドします

1 2
Socket.bind(Integer port, Boolean allowIPv4 = true);

呼び出しパラメータ:

  • port: 整数、バインドされたポートを指定します
  • allowIPv4: ブール値。IPv4 接続を受け入れるかどうかを指定します。デフォルトは true です。このパラメータは ipv6 に対して有効であり、オペレーティング システムによって異なります。

現在のソケットを指定されたアドレスの指定されたポートにバインドします

1 2 3
Socket.bind(String addr, Integer port = 0, Boolean allowIPv4 = true);

呼び出しパラメータ:

  • addr: 文字列。バインディング アドレスを指定し、UNIX ソケットおよび Windows パイプ パスを指すこともできます。
  • port: 整数、バインドされたポートを指定します。UNIX ソケットと Windows パイプをバインドする場合、このパラメータは無視されます。
  • allowIPv4: ブール値。IPv4 接続を受け入れるかどうかを指定します。デフォルトは true です。このパラメータは ipv6 に対して有効であり、オペレーティング システムによって異なります。

listen

接続リクエストのリスニングを開始する

1
Socket.listen(Integer backlog = 120);

呼び出しパラメータ:

  • backlog: 整数。リクエスト キューの長さを指定します。制限を超えるリクエストは拒否されます。デフォルトは 120 です。

accept

接続を待って受け入れます

1
Socket Socket.accept() async;

返される結果:

  • Socket、受信した接続オブジェクトを返します。

recv

指定されたサイズのデータ​​を接続から読み取ります。read メソッドとは異なり、recv は必要なデータが読み取られたことを保証しませんが、データの読み取り後すぐに戻ります。

1
Buffer Socket.recv(Integer bytes = -1) async;

呼び出しパラメータ:

  • bytes: 整数で、読み取られるデータの量を指定します。デフォルトでは、任意のサイズのデータ​​が読み取られます。

返される結果:

  • Buffer、接続から読み取られたデータを返します

send

指定されたデータを接続に書き込みます。このメソッドは write メソッドと同等です。

1
Socket.send(Buffer data) async;

呼び出しパラメータ:

  • data:Buffer、書き込まれるデータが与えられると、

read

ストリームから指定されたサイズのデータ​​を読み取ります

1
Buffer Socket.read(Integer bytes = -1) async;

呼び出しパラメータ:

  • bytes: 整数。読み取られるデータの量を指定します。デフォルトでは、ランダムなサイズのデータ​​ ブロックが読み取られます。読み取られるデータのサイズはデバイスによって異なります。

返される結果:

  • Bufferは、ストリームから読み取られたデータを返します。読み取るデータがない場合、または接続が中断された場合は、null が返されます。

write

指定されたデータをストリームに書き込みます

1
Socket.write(Buffer data) async;

呼び出しパラメータ:

  • data:Buffer、書き込まれるデータが与えられると、

flush

ファイルバッファの内容を物理デバイスに書き込む

1
Socket.flush() async;

close

現在のストリーム オブジェクトを閉じる

1
Socket.close() async;

copyTo

ストリーム データをターゲット ストリームにコピーする

1 2
Long Socket.copyTo(Stream stm, Long bytes = -1) async;

呼び出しパラメータ:

  • stm:Stream、ターゲットストリームオブジェクト
  • bytes: Long、コピーされたバイト数

返される結果:

  • Long、コピーされたバイト数を返します

toString

オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。

1
String Socket.toString();

返される結果:

  • String、オブジェクトの文字列表現を返します。

toJSON

オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。

1
Value Socket.toJSON(String key = "");

呼び出しパラメータ:

  • key: 文字列、使用されません

返される結果:

  • Value、シリアル化可能な JSON を含む値を返します