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

オブジェクトソケット

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

ソケットの所属 net モジュール、作成方法

1
var s = new net.Socket();

継承

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<class>Stream|fd|read();write();flush();close();copyTo()] [<this>Socket|new Socket()|family;remoteAddress;remotePort;localAddress;localPort;timeout|connect();bind();listen();accept();recv();send()] [object] <:- [Stream] [Stream] <:- [Socket] Socket new Socket() family remoteAddress remotePort localAddress localPort timeout connect() bind() listen() accept() recv() send() Stream fd read() write() flush() close() copyTo() object toString() toJSON()

コンストラクタ

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
Socket.connect(String host, Integer port = 0) async;

呼び出しパラメータ:

  • host: 文字列、相手のアドレスまたはホスト名を指定するか、UNIX ソケットと Windows パイプのパスを指す
  • port: 整数、相手のポートを指定、UnixソケットとWindowsパイプを接続する場合はこのパラメータを無視

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

オブジェクトの文字列表現を返します。通常は「[ネイティブ オブジェクト]」を返します。オブジェクトは独自の特性に従って再実装できます。

1
String Socket.toString();

結果を返す:

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

toJSON

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

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

呼び出しパラメータ:

  • key: ストリング、未使用

結果を返す:

  • Value、シリアライズ可能なJSONを含む値を返します