# j-WebSocket

> Inviare e ricevere messaggi JSON tramite un collegamento WebSocket.

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

Il componente invia e riceve JSON tramite una connessione WebSocket con riconnessione automatica. Configura `url`, collega un percorso del modello per ricevere messaggi e chiama il metodo `send` per inviare oggetti.


__Configurazione__:

- L'URL di `url {String}` può essere relativa o assoluta.
- `reconnect {Number}` può contenere solo un numero (millisecondi, standard: `3000`)
- `encoder {Boolean}` esegue i messaggi di codifica/decodificazione tramite `URI` (default: `false`)
- __NEW__: intervallo statistico di `statsinterval {Number}` in millisecondi (default: `1000`)
- __NEW__: `stats {String}` un collegamento al metodo `function({ received: Number, sent: Number })` o il percorso a una variabile (messa in byte)

__Metodi__:

- `component.send(obj)` - Invia un oggetto serializzato JSON al server
- `component.close()` - collegamento chiuso
- `component.connect()` - connessione aperta
- `component.idletime(is)` - __NEW__ può annullare/aprire la connessione

__Eventi__:

- `ON('message', function(data) {})` - i dati ricevuti
- `ON('online', function(isOnline) {})` - online e offline

## Utilizzo

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

La fonte: [Componenti di Total.js](https://github.com/totaljs/components/tree/910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e/j-WebSocket)Copyright Peter Širka e contribuenti. [La mia licenza](/knowledge-licenses.json).
