Quali sono meriti di MQTT oltre WebSocket rispetto a dirigere MQTT?diretto MQTT vs MQTT oltre WebSocket
Sto pensando di utilizzare MQTT nel mio progetto e quindi voglio sapere perché alcune persone scelgono MQTT su WebSocket anziché MQTT diretto.
Quali sono meriti di MQTT oltre WebSocket rispetto a dirigere MQTT?diretto MQTT vs MQTT oltre WebSocket
Sto pensando di utilizzare MQTT nel mio progetto e quindi voglio sapere perché alcune persone scelgono MQTT su WebSocket anziché MQTT diretto.
È necessario eseguire MQTT su Websocket solo se si intende pubblicare/sottoscrivere messaggi direttamente dalle app Web (nella pagina).
Fondamentalmente eseguivo MQTT puro per tutto e aggiungo le web socket solo se effettivamente ne hai bisogno.
Per tutti i linguaggi del browser nessuno, le librerie client MQTT utilizzano solo MQTT nativo. Per Javascript esiste sia una libreria MQTT pura sia la libreria Paho nella pagina che utilizza websocket.
MQTT tramite websocket è perfetto se una determinata pagina Web è il client MQTT di invio o ricezione.
È possibile trovare un buon riepilogo delle funzionalità di MQTT su Websocket here.
Due motivi principali per l'utilizzo di MQTT oltre WebSockets (che significa effettivamente andando oltre HTTP/HTTPS):
Se si esegue non è necessario o preoccuparsi di quanto sopra, usare "diretta" MQTT:
MQTT è un protocollo che supporta i seguenti:
A seconda del dispositivo è disponibile un'implementazione.
Browser: utilizza le web socket. Websocket fornisce ai browser la capacità di stabilire una comunicazione full duplex. C'è una libreria Javascript per implementare le funzionalità MQTT, vedi Eclipse Paho JavaScript Client
Android: Loro sono una libreria client MQTT scritta in Java per lo sviluppo di applicazioni su Android.Vedi Eclipse Paho Android Service
Quindi dipende dal dispositivo che utilizzerà questa funzionalità. Per gli standard e le specifiche, visitare MQTT Version 3.1.1
Sperare che questo aiuti.
Cheers!
MQTT tramite socket Web è anche utile se l'applicazione è in esecuzione dietro un firewall che consente solo il traffico 443 e 80. E non hai il controllo sulle politiche del firewall.
Con MQTT su Websocket, ogni browser può essere un dispositivo MQTT.
A causa del modello di pubblicazione/sottoscrizione di MQTT, si ottiene una spinta in tempo reale nel browser quando si verifica un evento, letteralmente in qualsiasi parte del mondo, purché si sottoscriva l'argomento corretto.
Nel caso di MQTT su WebSockets, la connessione Websockets costituisce un tubo esterno per il protocollo MQTT. Il server/broker inserisce il pacchetto MQTT in un pacchetto websockets e lo invia al client/server. Il client/server decomprime il pacchetto MQTT dal pacchetto websockets e lo elabora come un normale pacchetto MQTT.
Inoltre, ha una grande influenza su internet delle cose. Si prega di leggere i seguenti documenti per ulteriori dettagli.
Dire "che in effetti significa andare oltre HTTP/HTTPS" non è giusto. I Websocket sono vantaggiosi perché fondamentalmente non stanno usando HTTP/HTTPS e il sovraccarico implicito. Buona lettura (HTML5 WebSocket: un salto quantico in scalabilità per il Web) [http://websocket.org/quantum.html] per tutti i dettagli. – Sean