WebSocket : méthode send()
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.
Note : Cette fonctionnalité est disponible via les Web Workers.
La méthode send() de l'interface WebSocket place dans la file d'attente les données spécifiées pour qu'elles soient transmises au serveur via la connexion WebSocket, augmentant la valeur de bufferedAmount du nombre d'octets nécessaires pour contenir ces données. Si les données ne peuvent pas être envoyées (par exemple, parce qu'elles doivent être mises en tampon mais que le tampon est plein), le socket est automatiquement fermé.
Le navigateur lèvera une exception si vous appelez send() lorsque la connexion est dans l'état CONNECTING. Si vous appelez send() lorsque la connexion est dans les états CLOSING ou CLOSED, le navigateur ignorera silencieusement les données.
Syntaxe
send(data)
Paramètres
data-
Les données à envoyer au serveur. La valeur peut avoir un des types suivants :
string-
Une chaîne de caractères. Cette chaîne est ajoutée au tampon au format UTF-8 et la valeur de
bufferedAmountest 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
bufferedAmountest augmentée du nombre d'octets nécessaires. Blob-
Définir un
Blobplace les données brutes du blob dans la file d'attente pour être transmises dans une trame (frame en anglais) binaire (leBlob.typeest ignoré). La valeur debufferedAmountest augmentée du nombre d'octets de ces données brutes. TypedArrayou un objetDataView-
Il est possible d'envoyer n'importe quel objet étant un tableau typé JavaScript sous la forme d'une trame (frame en anglais) binaire. Le contenu des données binaires est rajouté à la queue dans le tampon et la valeur de
bufferedAmountest augmentée du nombre d'octets correspondant.
Valeur de retour
Aucune (undefined).
Exceptions
InvalidStateErrorDOMException-
Levée si
WebSocket.readyStateest àCONNECTING.
Spécifications
| Specification |
|---|
| WebSockets> # ref-for-dom-websocket-send①> |