# j-WebSocket

> Envoyer et recevoir des messages JSON via un réconnecteur WebSocket.

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: fr
Content-SHA256: 049ad3f2f18172f0cecc44c7ba6e3e6e7d4e22c6b706307fe5203912a0745910
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: usage-reviewed

Le composant envoie et reçoit du JSON par une connexion WebSocket avec reconnexion automatique. Configurez `url`, liez un chemin du modèle pour recevoir les messages et appelez la méthode `send` pour envoyer des objets.


__Configuration__ :

- `url {String}` URL pour le webocket, il peut être relatif ou absolu
- `reconnect {Number}` ne peut contenir qu'un nombre (milliseconds, par défaut: `3000`)
- `encoder {Boolean}` exécute les messages de codage/décode via `URI` (defaut: `false`)
- __NEW__: `statsinterval {Number}` intervalle de statistiques en milliseconds (defaut : `1000`)
- __NEW__: `stats {String}` un lien vers la méthode `function({ received: Number, sent: Number })` ou le chemin vers une variable (mesurée en bytes)

__Méthodes__ :

- `component.send(obj)` - envoie un objet sérialisé JSON au serveur
- `component.close()` - Connexion ferme
- `component.connect()` - connexion ouverte
- `component.idletime(is)` - __NEW__ peut annuler / réouvrir la connexion

__Événements__ :

- `ON('message', function(data) {})` : les données reçues
- `ON('online', function(isOnline) {})` En ligne / Offline

## Utilisation

```html
<ui-component name="websocket" path="updates.latest"
  config="url:/updates/"></ui-component>
<script>
  function sendUpdate(value) {
    SETTER('websocket/send', { type: 'update', value: value });
  }
</script>
```

Source : [Composants Total.js](https://github.com/totaljs/components/tree/910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e/j-WebSocket). Copyright Peter Širka et contributeurs. [Licence MIT](/knowledge-licenses.json).
