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

オブジェクトソケット

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

ソケットはnetモジュールに属し、作成方法

1
var s = new net.Socket();

継承

コンストラクタ

Socket

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

1 2
new Socket(Integer family = net.AF_INET, Integer type = net.SOCK_STREAM);

呼び出しパラメーター:

  • family :整数、アドレスセットを指定します。デフォルトはAF_INET、ipv4です。
  • type :整数、プロトコルファミリを指定します。デフォルトはSOCK_STREAM、tcpです。

メンバー属性

family

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

1
readonly Integer Socket.family;

type

整数、現在のSocketオブジェクトのプロトコルファミリを照会します

1
readonly Integer Socket.type;

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;

メンバー機能

connect

tcp接続を確立します

1 2
Socket.connect(String host, Integer port) async;

呼び出しパラメーター:

  • host :文字列、相手のアドレスまたはホスト名を指定します
  • port :整数、相手のポートを指定します

bind

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

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

呼び出しパラメーター:

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

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

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

呼び出しパラメーター:

  • addr :文字列、バインディングアドレスを指定します
  • port :整数、バインドされたポートを指定します
  • allowIPv4 :ブール値allowIPv4接続を受け入れるかどうかを指定します。デフォルトは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 、接続から読み取られたデータを返します

recvfrom

UDPパケットを読み取る

1
NObject Socket.recvfrom(Integer bytes = -1) async;

呼び出しパラメーター:

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

戻り結果:

  • NObject 、接続から読み取られたデータパケットを返します

recvfromによって返される結果は次のとおりです。

  • data :受信したバイナリデータブロック
  • address :送信者のアドレス
  • port :送信者のポート

send

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

1
Socket.send(Buffer data) async;

呼び出しパラメーター:

  • dataBuffer 、書き込まれるデータを指定

sendto

指定されたip:portにUDPパケットを送信します

1 2 3
Socket.sendto(Buffer data, String host, Integer port) async;

呼び出しパラメーター:

  • dataBuffer 、書き込まれるデータを指定
  • host :文字列、ターゲットIPまたはホスト名を指定します
  • port :整数、ターゲットポートを指定します

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を含む値を返します