Questa è una vecchia versione del documento!


giovedì 16 giugno 2016

MQTT

https://en.wikipedia.org/wiki/MQTT

  • message broker (=“server”)
  • sottoscrivo l'accesso a una risorsa (canale dati) : autenticazione e permessi (accesso a una sola parte del canale)
  • se cade il mezzo (TCP/IP) rimane comunque attiva la sessione mqtt in modo da essere recuperata esattamente da dove ero rimasto senza dovermi riauth o altro… se invece voglio chiudere mi desottoscrivo (questo comportamento e' comunque deciso dal message broker)
  • tutte le comunicazioni sono tra client e messagebroker ; due client non possono parlare tra loro
  • metodi: connessione, sconnessione, sottoscrizione, desottoscrizione, pubblicazione
  • non c'è una richiesta-risposta , c'è solo il messaggio pubblicato
  • open source (royalties??)
  • queues lato broker
  • codifica UTF-8 per il testo

–domanda: sono obbligato ad attendere l'ack prima di mandare un nuovo messaggio ???

pacchetto di controllo +fixed header +variable header (opzionale) +payload (opzionale)

header fisso nell'header c'è il comando (metodo visto sopra) e ci sono dei flag, segue la lunghezza della parte seguente di pacchetto (da 1 a 4 byte). alcuni comandi no flag, ma publish ad es ha un paio di bit di QoS.

header variabile puo' contenere un identificatore di pacchetto (tutti tranne connect/connack/ping/pingack/disconn) il quale e' univoco nell'insieme di ciascuna entita' (quindi server e client potrebbero scambiarsi pacch. con stessi id) (puo' contenere altre cose, come altri flag…)

payload puo' essere obbligatorio, opzionale o vietato

CONNECT

flags byte: flag di clean session, per fanculizzare o recuperare la sessione precedente will flag: ?

Navigazione

Table of contents

Contact

For any info you can write to:
Per qualunque info potete scrivere a:
info[at]maetech[dot]it

Ads

Stampa/Esporta
QR Code
QR Code talks:mqtt (generated for current page)