Notieren Sie die Schritte zur Verwendung des MQTT-Servers, um eine sofortige Kommunikation in Vue zu realisieren

Notieren Sie die Schritte zur Verwendung des MQTT-Servers, um eine sofortige Kommunikation in Vue zu realisieren

MQTT-Protokoll

MQTT (Message Queuing Telemetry Transport) ist ein von IBM entwickeltes Instant-Messaging-Protokoll und hat das Potenzial, ein wichtiger Bestandteil des Internets der Dinge zu werden. Das Protokoll unterstützt alle Plattformen und kann nahezu alle mit dem Internet verbundenen Objekte mit der Außenwelt verbinden. Es wird als Kommunikationsprotokoll für Sensoren und Aktoren verwendet (z. B. um Häuser über Twitter mit dem Internet zu verbinden).

MQTT ist ein leichtes, brokerbasiertes Publish/Subscribe-Messaging-Protokoll, das mit minimalem Code und minimaler Bandbreite eine Verbindung zu Remote-Geräten herstellen kann. Beispielsweise über Satelliten- und Proxy-Verbindungen, über DFÜ- und Gesundheitsdienstleisterverbindungen und in einigen automatisierten oder kleinen Geräten. Aufgrund seiner geringen Größe, Energieeinsparung, des geringen Protokoll-Overheads und der Fähigkeit, Informationen effizient an einen oder mehrere Empfänger zu übertragen, eignet es sich auch für mobile Anwendungsgeräte.

Vue verwendet einen MQTT-Server, um eine sofortige Kommunikation zu realisieren

In den meisten Projekten besteht die Interaktion zwischen Front-End und Back-End lediglich darin, dass das Front-End die Back-End-Schnittstelle anfordert und die Daten dann verarbeitet, nachdem sie empfangen wurden. Vor einiger Zeit erforderte ein Projekt, an dem ich arbeitete, die Verwendung von mqtt. Nachdem ich es verwendet hatte, fand ich es magisch. Ich musste mich nur anmelden, um Daten in Echtzeit zu erhalten. Ohne weitere Umschweife werde ich Ihnen die Schritte erläutern!

1. Installieren Sie mqtt.js im Vue-Projekt

npm installiere mqtt --save

2. Verweisen Sie darauf in der main.js des Projekts oder auf der Vue-Seite, wo es benötigt wird

importiere mqtt von „mqtt“

3. Definieren Sie ein Client-Objekt in den Daten der Vue-Seite zur späteren Verwendung

Kunde: {}

Ok, der nächste Schritt ist der entscheidende Punkt. Zuerst müssen wir eine Verbindung zu MQTT herstellen. Die Methode zum Herstellen einer Verbindung zu MQTT verfügt über eine Rückruffunktion. Als Nächstes werde ich die Abonnementmethode in den Rückruf schreiben, nachdem die Verbindung erfolgreich hergestellt wurde, um sicherzustellen, dass keine Fehler auftreten. Hier ist der Code!

4. Mit MQTT verbinden und abonnieren

  //Mit dem Server verbinden connect() {
      let Optionen = {
        Benutzername: "xxx",
        Passwort: "xxxx",
        cleanSession : falsch,
        keepAlive:60,
        clientId: 'mqttjs_' + Math.random().toString(16).substr(2, 8),
        VerbindungsTimeout: 4000
      }
      this.client = mqtt.connect('ws://192.168.xxx.xx:8083/mqtt',Optionen);
      this.client.on("verbinden", (e)=>{
        console.log("Erfolgreich mit dem Server verbunden:",e);
        //Abonnieren Sie drei Themen mit den Namen „top/#“, „three/#“ und „#“ this.client.subscribe([„top/#“, „three/#“, „#“], { qos: 1 }, (err)=> {
          wenn (!err) {
            console.log("Abonnement erfolgreich");
            //Veröffentliche eine Nachricht mit dem Inhalt ‚Hallo, das ist ein schöner Tag!‘ zum Thema „pubtop“ this.publish(„pubtop“, ‚Hallo, das ist ein schöner Tag!‘)
          } anders {
            console.log('Nachrichtenabonnement fehlgeschlagen!')
          }
        });
      });
      //Verbinden Sie dies erneut.reconnect()
      //Wurde die Verbindung getrennt? this.mqttError()
      //Auf Informationen warten this.getMessage()
    }

5. Methode zum Veröffentlichen von Nachrichten

    //Nachricht veröffentlichen @topic Betreff @message Inhalt veröffentlichen publish(topic,message) {
      wenn (!dieser.Client.verbunden) {
        console.log('Client nicht verbunden')
        zurückkehren
      }
      this.client.publish(Thema,Nachricht,{qos: 1},(err) => {
        wenn(!err) {
          console.log('Der Betreff ist' + topic + "Erfolgreich veröffentlicht")
        }
      })
    }

6. Hören Sie zu und erhalten Sie Informationen zu den drei oben abonnierten Themen

    //Auf empfangene Nachrichten warten getMessage() {
      this.client.on("Nachricht", (Thema, Nachricht) => {
        wenn(Nachricht) {
          console.log('Empfangen von', Thema, 'Information', Nachricht.toString())
          const res = JSON.parse(message.toString())
          //Konsole.log(res, 'res')
          Schalter(Thema) {
             Fall 'oben/#':
               diese.msg = res
               brechen;
             Fall 'drei/#':
               diese.msg = res
               brechen;
             Fall 'drei/#':
               diese.msg = res
               brechen;
             Standard:
               zurückkehren
               diese.msg = res
           }
           this.msg = Nachricht
        }
      });
    },

7. Überprüfen Sie, ob die Serververbindung fehlschlägt

    //Überwachen, ob die Serververbindung fehlschlägt mqttError() {
      this.client.on('Fehler',(Fehler) => {
        console.log('Verbindung fehlgeschlagen:',Fehler)
        dieser.client.ende()
      })
    },

8. Abmeldung

    //Abmelden unsubscribe() {
      this.client.unsubscribe(this.mtopic, (Fehler)=> {
        console.log('Thema ist' + this.mtopic + 'Abmeldung erfolgreich', Fehler)
      })
    },

9. Trennen Sie die Verbindung

    //trennen unconnect() {
      dieser.client.ende()
      this.client = null
      console.log('Die Verbindung zum Server wurde getrennt!')
    },

10. Warten Sie auf die erneute Verbindung des Servers

    //Auf erneute Serververbindung warten reconnect() {
      this.client.on('Wiederverbinden', (Fehler) => {
          console.log('Verbindung wird wiederhergestellt:', Fehler)
      });
    },

Zusammenfassen

Dies ist das Ende dieses Artikels über die Verwendung des MQTT-Servers in Vue zur Realisierung von Instant Messaging. Weitere relevante Inhalte zur Verwendung des MQTT-Instant Messaging in Vue finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Vue verwendet Stompjs, um Push-Benachrichtigungen für MQTT-Nachrichten zu implementieren

<<:  Detailliertes Tutorial zur Installation von Nginx auf CentOS8 (Bild und Text)

>>:  Mycli ist ein unverzichtbares Tool für MySQL-Befehlszeilen-Enthusiasten

Artikel empfehlen

Vue3 realisiert den Bildlupeneffekt

In diesem Artikelbeispiel wird der spezifische Co...

So verwenden Sie @media in mobilen adaptiven Stilen

Allgemeiner Handy-Stil: @media alle und (Ausricht...

Zusammenfassung der Erfahrungen und Fähigkeiten im Webdesign

■ Planung des Website-Themas Achten Sie darauf, da...

Details zu gängigen Javascript-Funktionen höherer Ordnung

Inhaltsverzeichnis 1. Gemeinsame Funktionen höher...

Zusammenfassung der Lösung für den Webpack -v-Fehler von Vue

Xiaobai lernte Vue kennen, dann lernte er Webpack...

Der Prozess der Bereitstellung eines Projekts auf einem anderen Host mit Jenkins

Umfeld Hostname IP-Adresse Aufschlag Jenkins 192....

HTML-Bildlaufleisten-Textbereichsattributeinstellung

1. Überlaufinhalt-Überlaufeinstellungen (festlegen...

So verwenden Sie GeoIP, um Regionen in Nginx einzuschränken

Dieser Blog ist eine Arbeitsnotiz Umfeld: Nginx-V...

Docker startet im Status „Beendet“

Nach dem Docker-Lauf ist der Status immer „Beende...

Verwendung und Beispiele für Linux-Befehle zur Echotextverarbeitung

Die Beschreibung von echo im Linux-Hilfedokument ...

Anleitung zur Vermeidung von Docker Win Ping-Fehlern bei Containern

Über Win Docker-Desktop möchte ich mich mit der C...

Beispiele für neue Selektoren in CSS3

Struktureller (Position) Pseudoklassenselektor (C...

MySQL-Serververbindung, Trennung und cmd-Bedienung

Verwenden Sie den Befehl mysql, um eine Verbindun...