Buscar..
Introducción
WebSocket es un protocolo que permite la comunicación bidireccional entre un cliente y un servidor:
El objetivo de WebSocket es proporcionar un mecanismo para las aplicaciones basadas en navegador que necesitan comunicación bidireccional con servidores que no dependen de la apertura de múltiples conexiones HTTP. ( RFC 6455 )
WebSocket funciona sobre el protocolo HTTP.
Sintaxis
- nuevo websocket (url)
- ws.binaryType / * tipo de entrega del mensaje recibido: "arraybuffer" o "blob" * /
- ws.close ()
- ws.send (datos)
- ws.onmessage = function (message) {/ * ... * /}
- ws.onopen = function () {/ * ... * /}
- ws.onerror = function () {/ * ... * /}
- ws.onclose = function () {/ * ... * /}
Parámetros
Parámetro | Detalles |
---|---|
url | La url del servidor que soporta esta conexión de socket web. |
datos | El contenido a enviar al host. |
mensaje | El mensaje recibido del host. |
Establecer una conexión de socket web.
var wsHost = "ws://my-sites-url.com/path/to/web-socket-handler";
var ws = new WebSocket(wsHost);
Trabajando con mensajes de cadena
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);
};
Trabajando con mensajes binarios.
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);
};
Haciendo una conexión segura de socket web
var sck = "wss://site.com/wss-handler";
var wss = new WebSocket(sck);
Esto usa wss
lugar de ws
para hacer una conexión de socket web segura que haga uso de HTTPS en lugar de HTTP
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow