WebSocket.send()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
La méthode WebSocket.send()
rajoute les données indiquées à la queue pour transmission au serveur via la connexion WebSocket, augmentant ainsi la valeur de bufferedAmount
du nombre d'octets nécessaires pour les données. Si les données ne peuvent être envoyées (par exemple parce qu'elles doivent être mises en tampon mais que la mémoire tampon est pleine), la socket est fermée automatiquement.
Syntaxe
WebSocket.send("Coucou serveur !");
Paramètres
data
-
Les données à envoyer au serveur. La valeur peut avoir un des types suivants :
USVString
-
Une chaîne de caractères. Cette chaîne est ajoutée au tampon au format UTF-8 et la valeur de
bufferedAmount
est augmentée du nombre d'octets nécessaires pour représenter cette chaîne de caractères UTF-8. ArrayBuffer
-
Les données binaires peuvent aussi être envoyées avec un tableau typé. Son contenu binaire est mis en tampon et la valeur de
bufferedAmount
est augmentée du nombre d'octets nécessaires. Blob
-
Lorsqu'une valeur
Blob
est fournie, les données brutes du blob sont rajoutées à la queue pour être transmises dans uneframe
binaire. La valeur de
bufferedAmount
est augmentée du nombre d'octets utilisés pour représenter ces données brutes. ArrayBufferView
-
Il est possible d'envoyer n'importe quel objet étant un tableau typé JavaScript sous la forme d'une
frame
binaire. Le contenu des données binaires est rajouté à la queue dans le tampon et la valeur de
bufferedAmount
est augmentée du nombre d'octets correspondant.
Exceptions levées
INVALID_STATE_ERR
-
La connexion n'est pas ouverte actuellement.
SYNTAX_ERR
-
Les données sont une chaîne de caractères pour laquelle il existe des
surrogates
non appairés.
Note :
Pour Gecko 6.0, l'implémentation de send()
varie de la spécification : le moteur renvoie un booléen indiquant si la connexion est toujours ouverte (par extension, cela indique si les données ont été correctement rajoutées à la queue ou transmises). Ce comportement a été corrigé avec Gecko 8.0.
Avec Gecko 11.0, la prise en charge des ArrayBuffer
est implémentée mais pas celle pour les objets Blob
.
Spécifications
Specification |
---|
WebSockets Standard # ref-for-dom-websocket-send① |
Compatibilité des navigateurs
BCD tables only load in the browser