--- title: WebSockets slug: Web/API/WebSockets_API translation_of: Web/API/WebSockets_API ---

{{DefaultAPISidebar("Websockets 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.

Outils

Ressources liées

Voir aussi

Compatibilité des navigateurs

{{CompatibilityTable}}

Caractéristiques

Chrome

Firefox (Gecko)

Internet Explorer

Opera

Safari

Support de la version -76 {{obsolete_inline}}

6

{{CompatGeckoDesktop("2.0")}}

{{CompatNo}}

11.00 (désactivé)

5.0.1

Support de la version du protocole 7 {{obsolete_inline}}

{{CompatNo}}

{{CompatGeckoDesktop("6.0")}}
{{property_prefix("Moz")}}

{{CompatNo}}

{{CompatNo}}

{{CompatNo}}

Support de la version du Protocole 10 {{obsolete_inline}}

14

{{CompatGeckoDesktop("7.0")}}
{{property_prefix("Moz")}}

HTML5 Labs

{{CompatUnknown}}

{{CompatUnknown}}

Standard - RFC 6455 Support

16

{{CompatGeckoDesktop("11.0")}}

10

12.10

6.0

Caractéristiques

Android

Firefox Mobile (Gecko)

IE Mobile

Opera Mobile

Safari Mobile

Support de la version -76 {{obsolete_inline}}

{{CompatUnknown}}

{{CompatUnknown}}

{{CompatUnknown}}

{{CompatUnknown}}

{{CompatUnknown}}

Support de la version du protocole 7 {{obsolete_inline}}

{{CompatUnknown}}

{{CompatUnknown}}

{{CompatUnknown}}

{{CompatUnknown}}

{{CompatUnknown}}

Support de la version du protocole 8 (IETF draft 10) {{obsolete_inline}}

{{CompatUnknown}}

{{CompatGeckoMobile("7.0")}}

{{CompatUnknown}}

{{CompatUnknown}}

{{CompatUnknown}}

Support du Standard - RFC 6455

16 (Chrome)

{{CompatGeckoDesktop("11.0")}}

{{CompatUnknown}}

12.10

6.0

Notes pour Gecko

Le support des WebSockets dans Firefox suit les évolutions continuelles de la spécification WebSocket. Firefox 6 met en œuvre la version 7 du protocole sous-jacent, tandis que Firefox 7 mets en œuvre la version 8 (comme spécifié dans le draft 10 de l'IETF). Firefox mobile supporte WebSocket à partir de la version Firefox mobile 7.0.

Gecko 6.0

Avant Gecko 6.0 {{geckoRelease("6.0")}}, il y avait un objet WebSocket, mal nommé, qui a fait supposer à certains sites que les servicesWebSocket services n'étaient pas prefixés ; cet objet a été renommé en MozWebSocket.

Gecko 7.0

À partir de la version 7.0 de Gecko {{geckoRelease("7.0")}}, la préférence network.websocket.max-connections est utilisée pour déterminer le nombre maximum de connexions Websockets qui peuvent être ouvertes en même temps. La valeur par défaut est de 200.

Gecko 8.0

À partir de la version 8.0 de Gecko {{geckoRelease("8.0")}}, l'extension "deflate-stream" du protocole WebSocket a été désactivée, car elle a été rendu obsolète dans les spécifications. Cela corrige des problèmes d'incompatibilité avec certains sites.

Gecko 11.0

Avant la version 11.0 de Gecko, la taille maximum des messages entrants et sortants était limitée à 16 Mo. Elle peut maintenant atteindre une taille de 2 Go. Ce maximum est pourtant plus théorique que pratique à cause des limitations de mémoire de certains appareils (principalement avec les appareils mobiles). En pratique, des transferts de cette taille maximum vont échouer sur les appareils qui n'ont pas assez de mémoire.

En outre, le support de l'envoi et la reception d'ArrayBuffer pour les données binaires à été réalisé.

A partir de la veriosn 11.0 de Gecko 11.0, l'API WebSocket n'est plus préfixée.

Attention: WebSocket a été désactivé dans les versions 4 et 5 de Firefox, principalement en raison de la découverte d'un problème de sécurité dans la conception du protocole. Cela a été corrigé dans la version 6 de Firefox qui met en œuvre une nouvelle version du protocole.