Recherche…
Introduction
WebSocket est un protocole qui permet une communication bidirectionnelle entre un client et un serveur:
L'objectif de WebSocket est de fournir un mécanisme pour les applications basées sur un navigateur qui ont besoin d'une communication bidirectionnelle avec des serveurs qui ne dépendent pas de l'ouverture de plusieurs connexions HTTP. ( RFC 6455 )
WebSocket fonctionne sur le protocole HTTP.
Syntaxe
- nouveau WebSocket (url)
- ws.binaryType / * type de livraison du message reçu: "arraybuffer" ou "blob" * /
- ws.close ()
- ws.send (données)
- ws.onmessage = function (message) {/ * ... * /}
- ws.onopen = function () {/ * ... * /}
- ws.onerror = function () {/ * ... * /}
- ws.onclose = function () {/ * ... * /}
Paramètres
Paramètre | Détails |
---|---|
URL | L'URL du serveur supportant cette connexion de socket web. |
Les données | Le contenu à envoyer à l'hôte. |
message | Le message reçu de l'hôte. |
Établir une connexion de socket Web
var wsHost = "ws://my-sites-url.com/path/to/web-socket-handler";
var ws = new WebSocket(wsHost);
Travailler avec des messages de chaîne
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);
};
Travailler avec des messages binaires
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);
};
Faire une connexion de socket Web sécurisée
var sck = "wss://site.com/wss-handler";
var wss = new WebSocket(sck);
Cela utilise le wss
au lieu de ws
pour créer une connexion de socket Web sécurisée qui utilise HTTPS au lieu de HTTP
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow