Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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

js
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 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

Définir un Blob place les données brutes du blob dans la file d'attente pour être transmises dans une trame (frame en anglais) binaire (le Blob.type est ignoré). La valeur de bufferedAmount est augmentée du nombre d'octets de ces données brutes.

TypedArray ou un objet DataView

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 bufferedAmount est augmentée du nombre d'octets correspondant.

Valeur de retour

Aucune (undefined).

Exceptions

InvalidStateError DOMException

Levée si WebSocket.readyState est à CONNECTING.

Spécifications

Specification
WebSockets
# ref-for-dom-websocket-send①

Compatibilité des navigateurs