Objekt integriertes Objekt

ObjectWebSocket

WebSocket ist ein Vollduplex-Kommunikationsprotokoll, das auf dem TCP-Protokoll basiert. Es stellt eine unterbrechungsfreie Verbindung zwischen dem Browser und dem Server her, kann eine bidirektionale Datenübertragung in Echtzeit realisieren und die Datenübertragung in jedem Format unterstützen. In fibjs stellt das WebSocket-Unterstützungsmodul die entsprechende API-Schnittstelle bereit, mit der die Entwicklung von WebSocket-Servern und -Clients realisiert werden kann.

Das WebSocket-Unterstützungsmodul ist lediglich eine Implementierung des WebSocket-Protokolls und muss auf dem HTTP-Protokoll aufbauen. Auf der Serverseite kann die HTTP-Anfrage über die Upgrade-Funktion in eine WebSocket-Verbindung umgewandelt werden, während auf der Clientseite die zu verbindende Serveradresse über die URL des WebSocket-Protokolls angegeben werden muss.

Beispiel für den Start eines WebSocket-Servers:

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();

Beispiel für den Verbindungsaufbau zum oben genannten Server im Client:

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); };

Erbschaftsverhältnis

Konstrukteur

WebSocket

WebSocket-Konstruktor

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

Aufrufparameter:

  • url: String, gibt den verbundenen Server an
  • protocol: String, gibt das Handshake-Protokoll an, der Standardwert ist „“
  • origin: String, gibt die Quelle der Simulation während des Handshakes an, der Standardwert ist „“

WebSocket-Konstruktor

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

Aufrufparameter:

  • url: String, gibt den verbundenen Server an
  • opts: Objekt, Verbindungsoption, Standard ist {}

opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:

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 {} }

statische Eigenschaften

defaultMaxListeners

Ganzzahl, die standardmäßige globale maximale Anzahl von Listenern

1
static Integer WebSocket.defaultMaxListeners;

Mitgliedereigenschaften

url

String, fragen Sie den Server ab, mit dem das aktuelle Objekt verbunden ist

1
readonly String WebSocket.url;

protocol

Zeichenfolge, Abfrage des Protokolls der aktuellen Objektverbindung

1
readonly String WebSocket.protocol;

origin

String, fragen Sie die Quelle der aktuellen Objektverbindung ab

1
readonly String WebSocket.origin;

readyState

Ganzzahl, fragen Sie den Verbindungsstatus des aktuellen Objekts ab, siehews

1
readonly Integer WebSocket.readyState;

onopen

Funktion, Abfrage und Verbindungserfolgsereignisse binden, äquivalent zu on("open", func);

1
Function WebSocket.onopen;

onmessage

Funktion, Abfrage und Bindung von Ereignissen, die Nachrichten von der anderen Partei empfangen, äquivalent zu on("message", func);

1
Function WebSocket.onmessage;

onclose

Funktion, fragt Ereignisse zum Schließen von Verbindungen ab und bindet sie, äquivalent zu on("close", func);

1
Function WebSocket.onclose;

onerror

Funktion, Abfrage und Bindung von Ereignissen, wenn Fehler auftreten, äquivalent zu on("error", func);

1
Function WebSocket.onerror;

Mitgliedsfunktion

close

Schließen Sie die aktuelle Verbindung. Bei diesem Vorgang wird ein CLOSE-Paket an die andere Partei gesendet und auf die Antwort der anderen Partei gewartet.

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

Aufrufparameter:

  • code: Ganzzahl, gibt den Abschaltcode an, der zulässige Wert ist 3000-4999 oder 1000, der Standardwert ist 1000
  • reason: String, gibt den Grund für das Herunterfahren an, der Standardwert ist „“

send

Senden Sie eine SMS an die andere Partei

1
WebSocket.send(String data);

Aufrufparameter:

  • data: String, gibt den zu sendenden Text an

Senden Sie ein Stück Binärdaten an die andere Partei

1
WebSocket.send(Buffer data);

Aufrufparameter:

  • data:BufferGeben Sie die gesendeten Binärdaten an

ref

Verhindern Sie, dass der fibjs-Prozess beendet wird, und verhindern Sie, dass der fibjs-Prozess während der Objektbindung beendet wird

1
WebSocket WebSocket.ref();

Rückgabeergebnisse:

  • WebSocket, gibt das aktuelle Objekt zurück

unref

Beenden des fibjs-Prozesses zulassen. Ermöglichen, dass der fibjs-Prozess während der Objektbindung beendet wird.

1
WebSocket WebSocket.unref();

Rückgabeergebnisse:

  • WebSocket, gibt das aktuelle Objekt zurück

on

Binden Sie einen Event-Handler an das Objekt

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, geben Sie die Ereignisverarbeitungsfunktion an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Binden Sie einen Event-Handler an das Objekt

1
Object WebSocket.on(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

addListener

Binden Sie einen Event-Handler an das Objekt

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, geben Sie die Ereignisverarbeitungsfunktion an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Binden Sie einen Event-Handler an das Objekt

1
Object WebSocket.addListener(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

prependListener

Binden Sie einen Ereignishandler an den Ursprung des Objekts

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, geben Sie die Ereignisverarbeitungsfunktion an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Binden Sie einen Ereignishandler an den Ursprung des Objekts

1
Object WebSocket.prependListener(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

once

Binden Sie einen einmaligen Ereignishandler an das Objekt. Der einmalige Handler wird nur einmal ausgelöst.

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, geben Sie die Ereignisverarbeitungsfunktion an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Binden Sie einen einmaligen Ereignishandler an das Objekt. Der einmalige Handler wird nur einmal ausgelöst.

1
Object WebSocket.once(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

prependOnceListener

Binden Sie einen Ereignishandler an den Ursprung des Objekts

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, geben Sie die Ereignisverarbeitungsfunktion an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Binden Sie einen Ereignishandler an den Ursprung des Objekts

1
Object WebSocket.prependOnceListener(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

off

Heben Sie die Zuweisung einer Funktion zur Objektverarbeitungswarteschlange auf

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, geben Sie die Ereignisverarbeitungsfunktion an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Brechen Sie alle Funktionen in der Objektverarbeitungswarteschlange ab

1
Object WebSocket.off(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Heben Sie die Zuweisung einer Funktion zur Objektverarbeitungswarteschlange auf

1
Object WebSocket.off(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

removeListener

Heben Sie die Zuweisung einer Funktion zur Objektverarbeitungswarteschlange auf

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, geben Sie die Ereignisverarbeitungsfunktion an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Brechen Sie alle Funktionen in der Objektverarbeitungswarteschlange ab

1
Object WebSocket.removeListener(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Heben Sie die Zuweisung einer Funktion zur Objektverarbeitungswarteschlange auf

1
Object WebSocket.removeListener(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

removeAllListeners

Löscht alle Listener für alle Ereignisse aus der Verarbeitungswarteschlange des Objekts. Wenn ein Ereignis angegeben ist, werden alle Listener für das angegebene Ereignis entfernt.

1
Object WebSocket.removeAllListeners(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Löscht alle Listener für alle Ereignisse aus der Verarbeitungswarteschlange des Objekts. Wenn ein Ereignis angegeben ist, werden alle Listener für das angegebene Ereignis entfernt.

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

Aufrufparameter:

  • evs: Array, geben Sie den Namen des Ereignisses an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

setMaxListeners

Die Standardbeschränkung für die Anzahl der Listener dient nur der Kompatibilität

1
WebSocket.setMaxListeners(Integer n);

Aufrufparameter:

  • n: Ganzzahl, geben Sie die Anzahl der Ereignisse an

getMaxListeners

Ruft nur aus Kompatibilitätsgründen die standardmäßige maximale Anzahl von Listenern ab

1
Integer WebSocket.getMaxListeners();

Rückgabeergebnisse:

  • Integer, gibt die Standardgrenzmenge zurück

listeners

Fragen Sie das Listener-Array nach dem angegebenen Ereignis des Objekts ab

1
Array WebSocket.listeners(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

  • Array, gibt das Listener-Array für das angegebene Ereignis zurück

listenerCount

Fragen Sie die Anzahl der Listener für das angegebene Ereignis des Objekts ab

1
Integer WebSocket.listenerCount(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

  • Integer, gibt die Anzahl der Listener für das angegebene Ereignis zurück

Fragen Sie die Anzahl der Listener für das angegebene Ereignis des Objekts ab

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

Aufrufparameter:

  • o: Wert, gibt das Objekt der Abfrage an
  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

  • Integer, gibt die Anzahl der Listener für das angegebene Ereignis zurück

eventNames

Name des Abfrage-Listener-Ereignisses

1
Array WebSocket.eventNames();

Rückgabeergebnisse:

  • Array, gibt ein Array von Ereignisnamen zurück

emit

Ein Ereignis aktiv auslösen

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

Aufrufparameter:

  • ev: String, Ereignisname
  • args: ..., Ereignisparameter werden an die Ereignisverarbeitungsfunktion übergeben

Rückgabeergebnisse:

  • Boolean, gibt den Ereignisauslöserstatus zurück, gibt „true“ zurück, wenn ein Antwortereignis vorliegt, andernfalls wird „false“ zurückgegeben

toString

Gibt die Zeichenfolgendarstellung des Objekts zurück. Im Allgemeinen wird „[Native Object]“ zurückgegeben. Das Objekt kann gemäß seinen eigenen Eigenschaften neu implementiert werden.

1
String WebSocket.toString();

Rückgabeergebnisse:

  • String, gibt die Zeichenfolgendarstellung des Objekts zurück

toJSON

Gibt eine Darstellung des Objekts im JSON-Format zurück und gibt im Allgemeinen eine Sammlung lesbarer Eigenschaften zurück, die vom Objekt definiert werden.

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

Aufrufparameter:

  • key: Zeichenfolge, nicht verwendet

Rückgabeergebnisse:

  • Value, gibt einen Wert zurück, der JSON serialisierbar enthält