Suche…


Einführung

WebSocket ist ein Protokoll, das die bidirektionale Kommunikation zwischen einem Client und einem Server ermöglicht:

Das Ziel von WebSocket ist es, einen Mechanismus für browserbasierte Anwendungen bereitzustellen, die eine bidirektionale Kommunikation mit Servern benötigen, die nicht auf das Öffnen mehrerer HTTP-Verbindungen angewiesen sind. ( RFC 6455 )

WebSocket arbeitet über das HTTP-Protokoll.

Syntax

  • neues WebSocket (URL)
  • ws.binaryType / * Übermittlungstyp der empfangenen Nachricht: "arraybuffer" oder "blob" * /
  • ws.close ()
  • ws.send (Daten)
  • ws.onmessage = Funktion (Nachricht) {/ * ... * /}
  • ws.onopen = function () {/ * ... * /}
  • ws.onerror = function () {/ * ... * /}
  • ws.onclose = function () {/ * ... * /}

Parameter

Parameter Einzelheiten
URL Die Server-URL, die diese Web-Socket-Verbindung unterstützt.
Daten Der Inhalt, der an den Host gesendet werden soll.
Botschaft Die vom Host erhaltene Nachricht.

Stellen Sie eine Web-Socket-Verbindung her

var wsHost = "ws://my-sites-url.com/path/to/web-socket-handler";
var ws = new WebSocket(wsHost);

Mit String-Nachrichten arbeiten

var wsHost = "ws://my-sites-url.com/path/to/echo-web-socket-handler";
var ws = new WebSocket(wsHost);
var value = "an example message";

//onmessage : Event Listener - Triggered when we receive message form server
ws.onmessage = function(message) {
    if (message === value) {
        console.log("The echo host sent the correct message.");
    } else {
        console.log("Expected: " + value);
        console.log("Received: " + message);
    }
};

//onopen : Event Listener - event is triggered when websockets readyState changes to open which means now we are ready to send and receives messages from server
ws.onopen = function() {
    //send is used to send the message to server
    ws.send(value);
};

Mit binären Nachrichten arbeiten

var wsHost = "http://my-sites-url.com/path/to/echo-web-socket-handler";
var ws = new WebSocket(wsHost);
var buffer = new ArrayBuffer(5); // 5 byte buffer
var bufferView = new DataView(buffer);

bufferView.setFloat32(0, Math.PI);
bufferView.setUint8(4, 127);

ws.binaryType = 'arraybuffer';

ws.onmessage = function(message) {
    var view = new DataView(message.data);
    console.log('Uint8:', view.getUint8(4), 'Float32:', view.getFloat32(0))
};

ws.onopen = function() {
    ws.send(buffer);
};

Herstellen einer sicheren Web-Socket-Verbindung

var sck = "wss://site.com/wss-handler";
var wss = new WebSocket(sck);

Hierbei wird anstelle von ws das wss verwendet, um eine sichere Web-Socket-Verbindung herzustellen, die HTTPS anstelle von HTTP verwendet



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow