WebSocket API & Protocole

La classe WebSocket

Description

L'API Javascript WebSocket est plus simple à comprendre que le fonctionnement du protocole. C'est le W3C qui s'occupe de l'API WebSocket, la dernière version du draft est disponible sur leur site : http://dev.w3.org/html5/websockets/

La création d'une instance d'un objet WebSocket se fait aisément:
var wSock = new Websocket(url,[protocol]);

Le paramètre url correspond à une URL WebSocket (ws://example.com), un port peut être précisé (ws://example.com:8080). C'est le serveur sur lequel on souhaite établir la connexion.
Le paramètre protocol correspond au sous protocole websocket que nous expliquons dans la partie protocole.

Pour ce qui concerne les méthodes, la simplicité est encore au rendez-vous.

Nous commençons par les event handlers:

- onopen: lorsque la connexion est ouverte
- onmessage: lorsqu'un message est reçu
- onerror: lorsqu'une erreur est rencontrée
- onclose: lorsque la connexion est fermée

Les autres méthodes:

- send: transmet les données à travers la connexion
- close: mettre fin à la connexion

Pour finir sur la description de l'API, voici un exemple d'utilisation:

var sock = new WebSocket('ws://example.com');
sock.onopen = function(evt) { alert('open!'); };
sock.onmessage = function(evt) {
alert('Message:' + evt.data);
}
sock.onerror = function(evt) { alert('error!'); };
sock.onclose = function(evt) { alert('closed!'); }
sock.send("Hello, IG2K!");
sock.close();


On commence par définir un comportement pour chaque event handler.
La méthode send permet d'envoyer les données en utilisant la connexion établit.
La méthode close permet de mettre un terme à la connexion.