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 fügen Sie Spalten in einer MySQL-Datenbank hinzu, löschen und ändern sie
>>: Implementierung der CentOS8.0-Netzwerkkonfiguration
Inhaltsverzeichnis Hintergrund Hauptinhalt 1. Kom...
Der Effekt, den wir erreichen müssen: Was wird be...
Der Befehl zum Löschen von Bildern im Docker laut...
Ich weiß nicht, ob Sie das Frameset-Attribut in I...
Inhaltsverzeichnis 1. Gemeinsame Funktionen höher...
In diesem Artikel wird der spezifische JS-Code zu...
Vorwort Die Datenbank war schon immer meine Schwa...
Inhaltsverzeichnis Vorwort 1. Herkömmliche Vue-Ko...
Starten Sie den MySQL-Container in Docekr Verwend...
Der Dienst des Unternehmens verwendet Docker und ...
HTML-Bild erzeugt nach dem Hinzufügen eines Hyper...
Inhaltsverzeichnis Überblick Filter definieren Ve...
In diesem Artikelbeispiel wird der spezifische Co...
Ich suche einen Job!!! Vorbereitung: Zunächst ein...
„Wir schreiben unsere nächste Reihe mobiler Produ...