Ricerca…


introduzione

WebSocket è un protocollo che consente la comunicazione bidirezionale tra un client e un server:

L'obiettivo WebSocket è fornire un meccanismo per applicazioni basate su browser che necessitano di comunicazione bidirezionale con server che non si basano sull'apertura di più connessioni HTTP. ( RFC 6455 )

WebSocket funziona su protocollo HTTP.

Sintassi

  • nuovo WebSocket (url)
  • ws.binaryType / * tipo di consegna del messaggio ricevuto: "arraybuffer" o "blob" * /
  • ws.close ()
  • ws.send (dati)
  • ws.onmessage = function (message) {/ * ... * /}
  • ws.onopen = function () {/ * ... * /}
  • ws.onerror = function () {/ * ... * /}
  • ws.onclose = function () {/ * ... * /}

Parametri

Parametro Dettagli
url L'URL del server che supporta questa connessione socket Web.
dati Il contenuto da inviare all'host.
Messaggio Il messaggio ricevuto dall'host.

Stabilire una connessione web socket

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

Lavorare con i messaggi di stringa

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

Lavorare con i messaggi binari

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

Effettuare una connessione web sicura

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

Questo usa il wss invece di ws per creare una connessione sicura per il web socket che faccia uso di HTTPS invece di HTTP



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow