WebSocket : constructeur WebSocket()
Baseline
Widely available
*
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
Note : Cette fonctionnalité est disponible via les Web Workers.
Le constructeur WebSocket() renvoie un nouvel objet WebSocket et tente immédiatement d'établir une connexion vers l'URL WebSocket spécifiée.
Syntaxe
new WebSocket(url)
new WebSocket(url, protocols)
Paramètres
url-
L'URL du serveur WebSocket cible auquel se connecter. L'URL doit utiliser l'un des schémas suivants :
ws,wss,httpouhttps, et ne peut pas inclure un fragment d'URL. Si une URL relative est fournie, elle est relative à l'URL de base du script appelant. protocolsFacultatif-
Une chaîne unique ou un tableau de chaînes représentant les sous-protocoles que le client souhaite utiliser, par ordre de préférence. Si cette valeur est omise, un tableau vide est utilisé par défaut, c'est-à-dire
[].Un serveur unique peut implémenter plusieurs sous-protocoles WebSocket, et gérer différents types d'interactions en fonction de la valeur définie. Notez toutefois qu'un seul sous-protocole peut être sélectionné par connexion.
Les valeurs autorisées sont celles pouvant être définies dans l'en-tête HTTP
Sec-WebSocket-Protocol. Il s'agit de valeurs choisies dans le registre des noms de sous-protocoles WebSocket de l'IANA (angl.), telles quesoap,wamp,ship, ou d'un nom personnalisé compris conjointement par le client et le serveur.Note : La connexion n'est pas établie tant que le sous-protocole n'a pas été négocié avec le serveur. Le protocole sélectionné peut ensuite être lu via
WebSocket.protocol: il sera la chaîne vide si une connexion ne peut être établie.
Exceptions
SyntaxErrorDOMException-
Levée si :
- l'analyse de
urléchoue urlutilise un schéma autre quews,wss,httpouhttpsurlcontient un fragment- l'une des valeurs de
protocolsapparaît plus d'une fois, ou ne respecte pas les exigences des éléments constituant la valeur de l'en-têteSec-WebSocket-Protocoltelles que définies par la spécification du protocole WebSocket
- l'analyse de
Exemples
Les exemples ci-dessous montrent comment se connecter à un WebSocket.
Le code suivant montre comment se connecter à un socket en utilisant une URL avec le schéma wss :
const wssWebSocket = new WebSocket("wss://websocket.example.org");
console.log(wssWebSocket.url); // 'wss://websocket.example.org'
// Faire quelque chose avec le socket
wssWebSocket.close();
Le code pour se connecter à une URL HTTPS est presque identique.
Sous le capot, le navigateur résout cela en une connexion « WSS », donc WebSocket.url aura le schéma wss:.
const httpsWebSocket = new WebSocket("https://websocket.example.org");
console.log(httpsWebSocket.url); // 'wss://websocket.example.org'
// Faire quelque chose avec le socket
httpsWebSocket.close();
On peut aussi résoudre des URL relatives. L'URL absolue dépendra de l'URL de base du contexte dans lequel l'appel est effectué.
relativeWebSocket = new WebSocket("/local/url");
// Faire quelque chose avec le socket
relativeWebSocket.close();
Spécifications
| Specification |
|---|
| WebSockets # ref-for-dom-websocket-websocket① |
Compatibilité des navigateurs
Voir aussi
- RFC 6455 (angl.) (la spécification du protocole WebSocket)