Echtzeitaktualisierung einer langen Verbindung auf der Vue+WebSocket-Seite

Echtzeitaktualisierung einer langen Verbindung auf der Vue+WebSocket-Seite

In letzter Zeit muss das Vue-Projekt die Daten in Echtzeit aktualisieren. Das Liniendiagramm wird jede Sekunde neu gezeichnet und die Daten werden alle 0,5 Sekunden aktualisiert. Einfach ausgedrückt handelt es sich um eine Aktualisierung in Echtzeit. Da die Datenmenge groß ist, wird geschätzt, dass die Seite hängen bleibt, wenn sie mithilfe eines Timers eine Weile verweilt. . .

Nach einer Diskussion mit dem Backend-Personal entschieden wir uns, den neu hinzugefügten WebSocket von h5 zu verwenden, um eine Echtzeitdatenanzeige zu realisieren und den Prozess und die aufgetretenen Probleme aufzuzeichnen.

Hinweis: Die lange Verbindung zum Aktualisieren der Seite wird geschlossen. Tatsächlich besteht der Zweck des Herstellens einer langen Verbindung beim Aufrufen der aktuellen Seite darin, die Seite ohne F5 zu aktualisieren. Alle Daten werden automatisch in Echtzeit aktualisiert. Wenn Sie die Seite immer noch mit F5 hin und her aktualisieren, ist dies sinnlos. . .

PS: Wenn Sie das wirklich brauchen, scheint es eine Möglichkeit zu geben, die Seite zu aktualisieren und die Verbindung aufrechtzuerhalten. Bitte suchen Sie auf Baidu. . . .

<Vorlage>
    <div>
    </div>
</Vorlage>

<Skript>
    Standard exportieren {
        Daten() {
            zurückkehren {
                Websock: null,
            }
        },
    erstellt(){
           //Öffnen Sie eine lange Verbindung, wenn die Seite gerade aufgerufen wird this.initWebSocket()
       },
    zerstört: Funktion() {
    //Schließen Sie die lange Verbindung, wenn die Seite zerstört wird. this.websocketclose();
    },
    Methoden: { 
      initWebSocket(){ //Weosocket initialisieren 
 
              const wsuri = process.env.WS_API + "/websocket/threadsocket"; //ws-Adresse this.websock = neuer WebSocket(wsuri); 
        dies.websocket.onopen = dies.websocketonopen;

        dies.websocket.onerror = dies.websocketonerror;

        dies.websock.onmessage = dies.websocketonmessage; 
        dies.websock.onclose = dies.websocketclose;
    }, 

      websocketonopen() {
        console.log("WebSocket-Verbindung erfolgreich");
      },
      websocketonerror(e) { //Fehler console.log("WebSocket-Verbindungsfehler");
      },
      websocketonmessage(e){ //Datenempfang const redata = JSON.parse(e.data);
         //Hinweis: Bei langen Verbindungen übertragen wir ein Datenelement pro Sekunde direkt in den Hintergrund. 
          //Wenn Sie jedoch auf eine Liste klicken, wird eine Kennung an das Backend gesendet und das Backend gibt basierend auf dieser Kennung die entsprechenden Daten zurück.
      // Zu diesem Zeitpunkt können Daten nur von einem Ausgang gesendet werden, sodass im Hintergrund ein Schlüssel hinzugefügt wird. Wenn der Schlüssel beispielsweise 1 ist, werden die Daten alle 1 Sekunde gepusht, und wenn er 2 ist, werden die Daten nach dem Senden der Markierung gepusht, zur Unterscheidung console.log(redata.value); 
      }, 

      websocketsend(agentData){//Daten werden gesendet this.websock.send(agentData); 
      }, 

     websocketclose(e){ //Schließen console.log("Verbindung geschlossen (" + e.code + ")"); 
     },
   }, 
  }
 </Skript>

Dies ist das Ende dieses Artikels über die Implementierung der Echtzeitaktualisierung einer langen Verbindung der Vue+WebSocket-Seite. Weitere relevante Inhalte zur Echtzeitaktualisierung einer langen Verbindung zu Vue+WebSocket finden Sie in den vorherigen Artikeln von 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:
  • So verwenden Sie webSocket zum Aktualisieren des Echtzeitwetters in Vue
  • Eine kurze Diskussion über die Fallstricke der Echtzeitkommunikation mit Vue WebSocket NodeJS
  • Vue implementiert WebSocket zum Senden und Empfangen von Nachrichten in Echtzeit
  • Websocket+Vuex implementiert eine Echtzeit-Chat-Software

<<:  So fügen Sie Spalten in einer MySQL-Datenbank hinzu, löschen und ändern sie

>>:  Implementierung der CentOS8.0-Netzwerkkonfiguration

Artikel empfehlen

Vuex in einem Artikel verstehen

Inhaltsverzeichnis Überblick Die vier Hauptobjekt...

Mehrere Elemente in derselben Zeile unter Div in CSS rechtsbündig ausrichten

Methode 1: schweben: rechts Darüber hinaus wird d...

Code zur Änderung des CSS-Bildlaufleistenstils

Code zur Änderung des CSS-Bildlaufleistenstils .s...

Interpretation der Vue-Komponentenregistrierungsmethode

Inhaltsverzeichnis Überblick 1. Globale Registrie...

CSS-Tutorial: CSS-Attribut-Medientyp

Eines der wichtigsten Merkmale eines Stylesheets ...

Zwei Möglichkeiten zum Öffnen und Schließen des MySQL-Dienstes

Methode 1: Verwenden Sie den cmd-Befehl Öffnen Si...

Design Association: Warum haben Sie am falschen Ort gesucht?

Ich bin vor ein paar Tagen mit dem Bus zur Arbeit...

Gängige Methoden und Probleme der Docker-Bereinigung

Wenn Sie Docker für die Entwicklung im großen Maß...

Anleitung zum Zurücksetzen des MySQL/MariaDB-Root-Passworts

Vorwort Vergessene Passwörter sind ein Problem, d...

Detaillierte Erklärung der Verwendung des Linux-Befehls nslookup

[Wer ist nslookup?] 】 Der Befehl nslookup ist ein...

So ändern Sie die Standardübermittlungsmethode des Formulars

Die Standard-Übermittlungsmethode von HTML ist get...