diff options
Diffstat (limited to 'files/fr/web/api/websocket/send/index.md')
-rw-r--r-- | files/fr/web/api/websocket/send/index.md | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/files/fr/web/api/websocket/send/index.md b/files/fr/web/api/websocket/send/index.md new file mode 100644 index 0000000000..62cd149882 --- /dev/null +++ b/files/fr/web/api/websocket/send/index.md @@ -0,0 +1,55 @@ +--- +title: WebSocket.send() +slug: Web/API/WebSocket/send +browser-compat: api.WebSocket.send +--- +<p>{{APIRef("Web Sockets API")}}</p> + +<p>La méthode <strong><code>WebSocket.send()</code></strong> rajoute les données indiquées à la queue pour transmission au serveur via la connexion WebSocket, augmentant ainsi la valeur de <code>bufferedAmount</code> 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.</p> + +<h2 id="syntax">Syntaxe</h2> + +<pre class="brush: js"> +WebSocket.send("Coucou serveur !"); +</pre> + +<h3 id="parameters">Paramètres</h3> + +<dl> + <dt><code>data</code></dt> + <dd>Les données à envoyer au serveur. La valeur peut avoir un des types suivants : + <dl> + <dt><a href="/fr/docs/Web/API/USVString"><code>USVString</code></a></dt> + <dd>Une chaîne de caractères. Cette chaîne est ajoutée au tampon au format UTF-8 et la valeur de <code>bufferedAmount</code> est augmentée du nombre d'octets nécessaires pour représenter cette chaîne de caractères UTF-8.</dd> + <dt><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer"><code>ArrayBuffer</code></a></dt> + <dd>Les données binaires peuvent aussi être envoyées avec un tableau typé. Son contenu binaire est mis en tampon et la valeur de <code>bufferedAmount</code> est augmentée du nombre d'octets nécessaires.</dd> + <dt><a href="/fr/docs/Web/API/Blob"><code>Blob</code></a></dt> + <dd>Lorsqu'une valeur <code>Blob</code> est fournie, les données brutes du blob sont rajoutées à la queue pour être transmises dans une <i lang="en">frame</i> binaire. La valeur de <code>bufferedAmount</code> est augmentée du nombre d'octets utilisés pour représenter ces données brutes.</dd> + <dt><a href="/fr/docs/Web/API/ArrayBufferView"><code>ArrayBufferView</code></a></dt> + <dd>Il est possible d'envoyer n'importe quel objet étant <a href="/fr/docs/Web/JavaScript/Typed_arrays">un tableau typé JavaScript</a> sous la forme d'une <i lang="en">frame</i> binaire. Le contenu des données binaires est rajouté à la queue dans le tampon et la valeur de <code>bufferedAmount</code> est augmentée du nombre d'octets correspondant.</dd> + </dl> + </dd> +</dl> + +<h3 id="exceptions_thrown">Exceptions levées</h3> + +<dl> + <dt><code>INVALID_STATE_ERR</code></dt> + <dd>La connexion n'est pas ouverte actuellement.</dd> + <dt><code>SYNTAX_ERR</code></dt> + <dd>Les données sont une chaîne de caractères pour laquelle il existe des <i lang="en">surrogates</i> non appairés.</dd> +</dl> + +<div class="note"> + <p><strong>Note :</strong> Pour Gecko 6.0, l'implémentation de <code>send()</code> 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.</p> + + <p>Avec Gecko 11.0, la prise en charge des <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer"><code>ArrayBuffer</code></a> est implémentée mais pas celle pour les objets <a href="/fr/docs/Web/API/Blob"><code>Blob</code></a>.</p> +</div> + +<h2 id="specifications">Spécifications</h2> + +<p>{{Specifications}}</p> + +<h2 id="browser_compatibility">Compatibilité des navigateurs</h2> + +<p>{{Compat}}</p> |