WebSockets
==========

L'**API WebSocket** est une technologie évoluée qui permet d'ouvrir un canal de communication bidirectionnelle entre un navigateur (côté client) et un serveur. Avec cette API vous pouvez envoyer des messages à un serveur et recevoir ses réponses de manière événementielle sans avoir à aller consulter le serveur pour obtenir une réponse.

**Note :** Bien que les connexions WebSocket soient fonctionnellement similaires aux sockets standard de type Unix, elles ne sont pas liées.

Interfaces
----------

`WebSocket`

Interface principale pour se connecter à un serveur WebSocket. Il permet d'envoyer et de recevoir des données sur la connexion.

`CloseEvent`

Evénement envoyé par l'objet WebSocket lors de la fermeture de la connexion.

`MessageEvent`

Evénement envoyé par l'objet WebSocket lorsqu'un message est reçu par le serveur.

Guides
------

* Ecrire des applications client WebSocket
* Écriture de serveurs WebSocket
* Écrire un serveur WebSocket en C# (en-US)
* Écrire un serveur WebSocket en Java
Outils
------

* HumbleNet :Bibliothèque de réseau multiplateforme qui fonctionne dans un navigateur. Il s'agit bibliothèque écrite en C qui enveloppe WebSockets et WebRTC. Elle gomme toutes les différences qui existent entre les navigateurs et les logiciels, ce qui facilite la création d'une fonctionnalité de réseau multi-joueurs pour les jeux, par exemple, et autres applications.
* µWebSockets: Déclinaison plus légère et plus performante de WebSocket et écrite en C++11 et en Node.js.
* ClusteWS: Framework léger, rapide et puissant qui permet de construire des application en Node.js.
* Socket.IO: API WebSocket puissante et multiplateformes en Node.js.
* SocketCluster: Framework open source en temps réel en Node.js. Il prend en charge à la fois la communication directe client-serveur et la communication de groupe via les pub/sub canaux. Il est conçu pour s'adapter facilement à n'importe quel nombre de processus/hôtes et est idéal pour construire de chat de discution.
* Node.js.
* Total.js: FrameWork pour web application en Node.js.
* Faye: Combine WebSocket(bidirectionnelle) et EventSource(unidirectionnelle) , côté serveur et côté client en Node.js.
* SignalR: SignalR est une nouvelle bibliothèque pour les développeurs ASP.NET. Elle simplifie l'ajout des WebSockets dans les applications. SignalR utilise les canaux de WebSockets lorsqu'elles sont disponibles, dans le cas contraire elle utilise d'autres technos, sans modifier votre application.
* Caddy: Serveur web capable de créer des WebSockets serveur/proxy(stdin/stdout, echo, cat, ...).
* ws: La plus populaire des WebSockets pour client & serveur en Node.js.
* jsonrpc-bidirectional: Asynchronous RPC which, on a single connection, may have functions exported on the server and, and the same time, on the client (client may call server, server may also call client).
* cowboy: Cowboy est un petit serveur HTTP rapide et moderne pour Erlang/OTP basé sur WebSocket.
* ZeroMQ: ZeroMQ est une bibliothèque de fonctions pour transporter des messages avec divers protocoles IPC, TCP, UDP, TIPC, diffusion de groupe et WebSocket.
Ressources liées
----------------

* AJAX
* JavaScript
Spécifications
--------------

| Specification |
| --- |
| WebSockets Standard # the-websocket-interface |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* RFC 6455 - Le protocole WebSocket
* Les spécifications de l'API WebSocket
* Server-Sent Events