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

So können Sie lange Vue-Listen schnell laden

Inhaltsverzeichnis Hintergrund Hauptinhalt 1. Kom...

So löschen Sie ein Image in Docker

Der Befehl zum Löschen von Bildern im Docker laut...

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

Inhaltsverzeichnis 1. Gemeinsame Funktionen höher...

JS implementiert einfachen Kalendereffekt

In diesem Artikel wird der spezifische JS-Code zu...

Lernen Sie MySQL auf einfache Weise

Vorwort Die Datenbank war schon immer meine Schwa...

So verbinden Sie Navicat mit der Docker-Datenbank auf dem Server

Starten Sie den MySQL-Container in Docekr Verwend...

Bereinigungsmethode für das Docker-Verzeichnis /var/lib/docker/aufs/mnt

Der Dienst des Unternehmens verwendet Docker und ...

So verwenden Sie den Vue-Filter

Inhaltsverzeichnis Überblick Filter definieren Ve...

Detaillierte Erläuterung der Vue Simple Notepad-Entwicklung

In diesem Artikelbeispiel wird der spezifische Co...

Beispielcode zum Implementieren schöner Uhranimationseffekte mit CSS

Ich suche einen Job!!! Vorbereitung: Zunächst ein...