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

オブジェクトWebソケット

WebSocket は、TCP プロトコルをベースにした全二重通信プロトコルで、ブラウザとサーバーの間に中断のない接続を確立し、リアルタイムの双方向データ送信を実現し、あらゆる形式のデータ送信をサポートできます。 fibjs では、WebSocket サポート モジュールが対応する API インターフェイスを提供し、WebSocket サーバーとクライアントの開発を実現できます。

WebSocket サポート モジュールは WebSocket プロトコルの単なる実装であり、HTTP プロトコル上で動作する必要があります。サーバー側では、アップグレード機能により HTTP リクエストを WebSocket 接続に変換できますが、クライアント側では、接続するサーバーのアドレスを WebSocket プロトコルの URL で指定する必要があります。

WebSocket サーバーの起動例:

1 2 3 4 5 6 7 8 9 10 11
var ws = require('ws'); var http = require('http'); var svr = new http.Server(80, { '/ws': ws.upgrade(conn => { conn.onmessage = e => { conn.send('fibjs:' + e.data); }; }) }); svr.start();

クライアントで上記のサーバーへの接続を確立する例:

1 2 3 4 5 6 7 8 9 10 11 12
var ws = require("ws"); var conn = new ws.Socket("ws://127.0.0.1/ws"); // emit open event conn.onopen = () => { console.log("websocket connected"); conn.send("hi"); }; // emit close event conn.onmessage = evt => { console.log("websocket receive: " + evt.data); };

相続関係

コンストラクタ

WebSocket

WebSocket コンストラクター

1 2 3
new WebSocket(String url, String protocol = "", String origin = "");

呼び出しパラメータ:

  • url: 文字列、接続されたサーバーを指定します
  • protocol: 文字列。ハンドシェイク プロトコルを指定します。デフォルトは "" です。
  • origin: 文字列。ハンドシェイク中のシミュレーションのソースを指定します。デフォルトは「」です。

WebSocket コンストラクター

1 2
new WebSocket(String url, Object opts);

呼び出しパラメータ:

  • url: 文字列、接続されたサーバーを指定します
  • opts: オブジェクト、接続オプション、デフォルトは {}

opts にはリクエストの追加オプションが含まれており、次のようにサポートされます。

1 2 3 4 5 6 7 8
{ "protocol": "", // specify the sub-protocol, default is "" "origin": "", // specify the origin, default is "" "perMessageDeflate": false, // specify whether to enable permessage-deflate, default is false "maxPayload": 67108864, // specify the max payload size, default is 64MB "httpClient": hc, // specify the http client, default is null, use the global http client "headers": // specify the http headers, default is {} }

静的プロパティ

defaultMaxListeners

整数、デフォルトのグローバル最大リスナー数

1
static Integer WebSocket.defaultMaxListeners;

メンバーのプロパティ

url

文字列。現在のオブジェクトが接続されているサーバーをクエリします。

1
readonly String WebSocket.url;

protocol

文字列、現在のオブジェクト接続のプロトコルを問い合わせる

1
readonly String WebSocket.protocol;

origin

文字列、現在のオブジェクト接続のソースをクエリします。

1
readonly String WebSocket.origin;

readyState

整数。現在のオブジェクトの接続ステータスをクエリします。を参照してください。ws

1
readonly Integer WebSocket.readyState;

onopen

関数、クエリ、およびバインド接続成功イベント。on("open", func); と同等。

1
Function WebSocket.onopen;

onmessage

相手からメッセージを受信する関数、クエリ、バインド イベント。on("message", func); と同等です。

1
Function WebSocket.onmessage;

onclose

on("close", func) と同等の、接続終了イベントをクエリしてバインドする関数。

1
Function WebSocket.onclose;

onerror

エラー発生時の関数、クエリ、バインドイベント。on("error", func); と同等。

1
Function WebSocket.onerror;

メンバー関数

close

現在の接続を閉じます。この操作は相手に CLOSE パケットを送信し、相手の応答を待ちます。

1 2
WebSocket.close(Integer code = 1000, String reason = "");

呼び出しパラメータ:

  • code: 整数、シャットダウン コードを指定します。許可される値は 3000 ~ 4999 または 1000、デフォルトは 1000 です。
  • reason: 文字列。シャットダウンの理由を指定します。デフォルトは「」です。

send

相手にテキストを送信する

1
WebSocket.send(String data);

呼び出しパラメータ:

  • data: 文字列、送信するテキストを指定します

バイナリデータを相手に送信する

1
WebSocket.send(Buffer data);

呼び出しパラメータ:

  • data:Buffer、送信されるバイナリ データを指定します

ref

fibjs プロセスが終了しないようにし、オブジェクト バインド中に fibjs プロセスが終了しないようにします。

1
WebSocket WebSocket.ref();

返される結果:

  • WebSocket、現在のオブジェクトを返します

unref

fibjs プロセスの終了を許可する: オブジェクト バインド中に fibjs プロセスの終了を許可します。

1
WebSocket WebSocket.unref();

返される結果:

  • WebSocket、現在のオブジェクトを返します

on

イベントハンドラーをオブジェクトにバインドする

1 2
Object WebSocket.on(String ev, Function func);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します
  • func: 関数、イベント処理関数を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

イベントハンドラーをオブジェクトにバインドする

1
Object WebSocket.on(Object map);

呼び出しパラメータ:

  • map: オブジェクト。イベント マッピング関係を指定します。オブジェクトの属性名はイベント名として使用され、属性の値はイベント処理関数として使用されます。

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

addListener

イベントハンドラーをオブジェクトにバインドする

1 2
Object WebSocket.addListener(String ev, Function func);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します
  • func: 関数、イベント処理関数を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

イベントハンドラーをオブジェクトにバインドする

1
Object WebSocket.addListener(Object map);

呼び出しパラメータ:

  • map: オブジェクト。イベント マッピング関係を指定します。オブジェクトの属性名はイベント名として使用され、属性の値はイベント処理関数として使用されます。

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

prependListener

イベントハンドラーをオブジェクトのオリジンにバインドする

1 2
Object WebSocket.prependListener(String ev, Function func);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します
  • func: 関数、イベント処理関数を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

イベントハンドラーをオブジェクトのオリジンにバインドする

1
Object WebSocket.prependListener(Object map);

呼び出しパラメータ:

  • map: オブジェクト。イベント マッピング関係を指定します。オブジェクトの属性名はイベント名として使用され、属性の値はイベント処理関数として使用されます。

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

once

ワンタイム イベント ハンドラーをオブジェクトにバインドします。ワンタイム ハンドラーは 1 回だけトリガーされます。

1 2
Object WebSocket.once(String ev, Function func);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します
  • func: 関数、イベント処理関数を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

ワンタイム イベント ハンドラーをオブジェクトにバインドします。ワンタイム ハンドラーは 1 回だけトリガーされます。

1
Object WebSocket.once(Object map);

呼び出しパラメータ:

  • map: オブジェクト。イベント マッピング関係を指定します。オブジェクトの属性名はイベント名として使用され、属性の値はイベント処理関数として使用されます。

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

prependOnceListener

イベントハンドラーをオブジェクトのオリジンにバインドする

1 2
Object WebSocket.prependOnceListener(String ev, Function func);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します
  • func: 関数、イベント処理関数を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

イベントハンドラーをオブジェクトのオリジンにバインドする

1
Object WebSocket.prependOnceListener(Object map);

呼び出しパラメータ:

  • map: オブジェクト。イベント マッピング関係を指定します。オブジェクトの属性名はイベント名として使用され、属性の値はイベント処理関数として使用されます。

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

off

オブジェクト処理キューから関数の割り当てを解除する

1 2
Object WebSocket.off(String ev, Function func);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します
  • func: 関数、イベント処理関数を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

オブジェクト処理キュー内のすべての関数をキャンセルします

1
Object WebSocket.off(String ev);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

オブジェクト処理キューから関数の割り当てを解除する

1
Object WebSocket.off(Object map);

呼び出しパラメータ:

  • map: オブジェクト。イベントのマッピング関係を指定します。オブジェクトの属性名はイベント名として使用され、属性の値はイベント処理関数として使用されます。

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

removeListener

オブジェクト処理キューから関数の割り当てを解除する

1 2
Object WebSocket.removeListener(String ev, Function func);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します
  • func: 関数、イベント処理関数を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

オブジェクト処理キュー内のすべての関数をキャンセルします

1
Object WebSocket.removeListener(String ev);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

オブジェクト処理キューから関数の割り当てを解除する

1
Object WebSocket.removeListener(Object map);

呼び出しパラメータ:

  • map: オブジェクト。イベントのマッピング関係を指定します。オブジェクトの属性名はイベント名として使用され、属性の値はイベント処理関数として使用されます。

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

removeAllListeners

オブジェクトの処理キューからすべてのイベントのすべてのリスナーをキャンセルします。イベントが指定されている場合は、指定されたイベントのすべてのリスナーが削除されます。

1
Object WebSocket.removeAllListeners(String ev);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

オブジェクトの処理キューからすべてのイベントのすべてのリスナーをキャンセルします。イベントが指定されている場合は、指定されたイベントのすべてのリスナーが削除されます。

1
Object WebSocket.removeAllListeners(Array evs = []);

呼び出しパラメータ:

  • evs: 配列、イベントの名前を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

setMaxListeners

リスナー数のデフォルト制限 (互換性のみを目的)

1
WebSocket.setMaxListeners(Integer n);

呼び出しパラメータ:

  • n: 整数、イベントの数を指定します

getMaxListeners

互換性のみを目的として、デフォルトのリスナー制限数を取得します。

1
Integer WebSocket.getMaxListeners();

返される結果:

  • Integer、デフォルトの制限数量を返します

listeners

オブジェクトの指定されたイベントについてリスナー配列をクエリします。

1
Array WebSocket.listeners(String ev);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します

返される結果:

  • Array、指定されたイベントのリスナー配列を返します。

listenerCount

オブジェクトの指定されたイベントのリスナーの数をクエリします。

1
Integer WebSocket.listenerCount(String ev);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します

返される結果:

  • Integer、指定されたイベントのリスナーの数を返します。

オブジェクトの指定されたイベントのリスナーの数をクエリします。

1 2
Integer WebSocket.listenerCount(Value o, String ev);

呼び出しパラメータ:

  • o: 値。クエリのオブジェクトを指定します。
  • ev: 文字列、イベントの名前を指定します

返される結果:

  • Integer、指定されたイベントのリスナーの数を返します。

eventNames

クエリリスナーイベント名

1
Array WebSocket.eventNames();

返される結果:

  • Array、イベント名の配列を返します。

emit

イベントをアクティブにトリガーする

1 2
Boolean WebSocket.emit(String ev, ...args);

呼び出しパラメータ:

  • ev: 文字列、イベント名
  • args: ...、イベントパラメータはイベント処理関数に渡されます

返される結果:

  • Boolean、イベント トリガーのステータスを返し、応答イベントがある場合は true を返し、それ以外の場合は false を返します。

toString

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

1
String WebSocket.toString();

返される結果:

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

toJSON

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

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

呼び出しパラメータ:

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

返される結果:

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