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

オブジェクトソケット

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

ソケットはに属します 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;

呼び出しパラメーター:

  • dataBuffer、書き込まれるデータが与えられた場合

read

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

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

呼び出しパラメーター:

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

戻り結果:

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

write

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

1
Socket.write(Buffer data) async;

呼び出しパラメーター:

  • dataBuffer、書き込まれるデータが与えられた場合

flush

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

1
Socket.flush() async;

close

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

1
Socket.close() async;

copyTo

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

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

呼び出しパラメーター:

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

戻り結果:

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

toString

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

1
String Socket.toString();

戻り結果:

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

toJSON

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

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

呼び出しパラメーター:

  • key:文字列、未使用

戻り結果:

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