Zoeken…


Invoering

WebSocket is een protocol, dat tweerichtingscommunicatie mogelijk maakt tussen een client en een server:

Het doel van WebSocket is om een mechanisme te bieden voor browsergebaseerde applicaties die tweerichtingscommunicatie nodig hebben met servers die niet afhankelijk zijn van het openen van meerdere HTTP-verbindingen. ( RFC 6455 )

WebSocket werkt via HTTP-protocol.

Syntaxis

  • nieuwe WebSocket (url)
  • ws.binaryType / * aflevertype van ontvangen bericht: "arraybuffer" of "blob" * /
  • ws.close ()
  • ws.send (data)
  • ws.onmessage = function (message) {/ * ... * /}
  • ws.onopen = function () {/ * ... * /}
  • ws.onerror = function () {/ * ... * /}
  • ws.onclose = function () {/ * ... * /}

parameters

Parameter Details
url De server-URL die deze websocketverbinding ondersteunt.
gegevens De inhoud die naar de host moet worden verzonden.
bericht Het bericht ontvangen van de host.

Breng een websocketverbinding tot stand

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

Werken met stringberichten

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

Werken met binaire berichten

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

Een beveiligde websocketverbinding maken

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

Dit maakt gebruik van de wss plaats van ws om een beveiligde ws te maken die gebruikmaakt van HTTPS in plaats van HTTP



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow