


Was sind die Schritte, um den noVNC-Remotedesktop in das Vue-Projekt einzuführen?
Im Folgenden wird eine Methode zur Einführung des noVNC-Remotedesktops in das Vue-Projekt vorgestellt. Es hat einen guten Referenzwert und ich hoffe, dass es für alle hilfreich ist.
1. Lassen Sie uns zunächst kurz das Konzept vorstellen.
VNCServer ist ein Dienst, der auf dem Server gestartet wird, um verteilten Benutzern gerecht zu werden, die Serverressourcen teilen. Die entsprechende Client-Software umfasst den grafischen Client VNCViewer, während noVNC ein HTML5-VNC-Client ist, der mithilfe von HTML implementiert wird 5 WebSocket, Canvas und JavaScript.
noVNC wird häufig in großen Cloud-Computing- und Virtual-Machine-Control-Panels verwendet. noVNC wird mithilfe von WebSockets implementiert, die meisten aktuellen VNC-Server unterstützen WebSockets jedoch nicht, sodass noVNC keine direkte Verbindung zum VNC-Server herstellen kann. Stattdessen muss ein Proxy aktiviert werden, um zwischen WebSockets und TCP-Sockets zu konvertieren. Dieser Proxy heißt websockify.
2. Es gibt eine solche Anforderung im Projekt. Es gibt mehrere Funktionsseiten im System, aber die Funktionen umfassen auch die Originalfunktionen auf dem physischen Endgerät (Einschließlich des späteren virtuellen Terminal-Clients auf dem Computer), der noVNC verwendet. Der Vorteil besteht darin, dass Sie andere Funktionssysteme (oder Seiten) in neue Projekte einbetten können und auch die oben genannten Funktionen usw. per Mausklick bedienen können, wodurch einige Probleme vorübergehend gelöst werden können.
3. Da das Projekt-Framework Vue ist, sind die folgenden Front-End-Implementierungsteile
Stellen Sie zunächst die noVNC-Bibliothek vor. Es gibt zwei Möglichkeiten, den Quellcode direkt in Ihr eigenes Projekt herunterzuladen.
rrreeZweitens können Sie bei Verwendung von Webpack npm zum Installieren von Abhängigkeiten verwenden, was bequemer ist.
git clone git://github.com/novnc/noVNC
Das Folgende ist der detaillierte Codeteil
HTML
npm install @novnc/novnc
Skript
<template> <p class="page-home" ref="canvas"> <canvas id="noVNC_canvas" width="800" height="600"> Canvas not supported. </canvas> </p> </template>
Da es das ist Zuerst gibt es eine Einführungsmethode, daher wird die Importmethode zum Einführen von Ressourcen verwendet. Es ist zu beachten, dass das Projekt bei der Einführung bestimmter Dateien auf der ES6-Syntax basiert, sodass die Art und Weise, externe JS einzuführen, etwas anders ist. Wenn Sie beispielsweise die Datei webutil.js einführen, müssen Sie den Exportstandard hinzufügen, bevor sie korrekt verwendet werden kann. Sie können die Datei beim Importieren leicht ändern. Entsprechende Hinweise und Beschreibungen finden Sie in der Datei.
Nachdem die Ressourcen importiert wurden, besteht der nächste Schritt darin, sie zu verwenden, was eigentlich nicht kompliziert ist. Es gibt nicht viel zu sagen, fangen wir an.
import WebUtil from '../../noVNC/app/webutil.js' import Base64 from '../../noVNC/core/base64.js' import Websock from '../../noVNC/core/websock.js' import '../../noVNC/core/des.js' import '../../noVNC/core/input/keysymdef.js' import '../../noVNC/core/input/xtscancodes.js' import '../../noVNC/core/input/util.js' import {Keyboard, Mouse} from '../../noVNC/core/input/devices.js' import Display from '../../noVNC/core/display.js' import '../../noVNC/core/inflator.js' import RFB from '../../noVNC/core/rfb.js' import '../../noVNC/core/input/keysym.js'
Definieren Sie zunächst eine Methode im Methodenlebenszyklus und schreiben Sie die initialisierungsbezogenen Vorgänge darin. Rufen Sie dann this.connectVnc() im gemounteten Lebenszyklus auf. Es muss innerhalb dieses Lebenszyklus aufgerufen werden, andernfalls kann die DOM-Struktur nicht abgerufen werden, wenn die Leinwand nicht initialisiert ist.
Eine einfache Beschreibung besteht darin, ein Objekt einschließlich einiger verwendeter Methoden oder Attribute zu instanziieren, dann die Verbindungsmethode aufzurufen und die Parameter Host, Port, Passwort und Pfad zu übergeben, um eine Verbindung herzustellen.
Es gibt zwei Methoden: Eine ist callback_.onCompleteHandler nach erfolgreicher Verbindung und die andere ist callback_disconnected
connectVNC () { var DEFAULT_HOST = '', DEFAULT_PORT = '', DEFAULT_PASSWORD = "", DEFAULT_PATH = "websockify" ; var cRfb = null; var oTarget = document.getElementById("noVNC_canvas"); let that = this if (!this.currentEquipment) { return } let novncPort = this.currentEquipment.novncPort getNovncIp().then(function (resData) { WebUtil.init_logging(WebUtil.getConfigVar("logging", "warn")); var sHost = resData.data.content.ip || DEFAULT_HOST, nPort = novncPort || DEFAULT_PORT, sPassword = DEFAULT_PASSWORD, sPath = DEFAULT_PATH ; cRfb = new RFB({ "target": oTarget,<span class="space" style="white-space:pre;display:inline-block;text-indent:2em;line-height:inherit;"> // 目标</span> "focusContainer": top.document, // 鼠标焦点定位 "encrypt": WebUtil.getConfigVar("encrypt", window.location.protocol === "https:"), "repeaterID": WebUtil.getConfigVar("repeaterID", ""), "true_color": WebUtil.getConfigVar("true_color", true), "local_cursor": WebUtil.getConfigVar("cursor", true), "shared": WebUtil.getConfigVar("shared", true), "view_only": WebUtil.getConfigVar("view_only", false), "onFBUComplete": that._onCompleteHandler, // 回调函数 "onDisconnected": that._disconnected // 断开连接 }); // console.log('sHost:' + sHost + '--nPort:' + nPort) cRfb.connect(sHost, nPort, sPassword, sPath); }) },
Sie Nach erfolgreicher Verbindung können einige Parameterinformationen oder die Bildschirmgröße eingestellt werden.
Nach Abschluss der oben genannten Vorgänge können Sie auf der Webseite einen Remote-Desktop-Bildschirm sehen.
Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.
Verwandte Artikel:
So verwenden Sie JointJS in Vue
Eine kurze Diskussion über die einfache Methode zur Verwendung der Baidu-Karte unter Vue
Beispiel für jQuery, das Scroll- und Fading-Effekte für Nachrichten implementiert
Das obige ist der detaillierte Inhalt vonWas sind die Schritte, um den noVNC-Remotedesktop in das Vue-Projekt einzuführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Mit dem Windows-Remotedesktopdienst können Benutzer aus der Ferne auf Computer zugreifen, was für Personen, die aus der Ferne arbeiten müssen, sehr praktisch ist. Es können jedoch Probleme auftreten, wenn Benutzer keine Verbindung zum Remotecomputer herstellen können oder Remotedesktop die Identität des Computers nicht authentifizieren kann. Dies kann durch Netzwerkverbindungsprobleme oder einen Fehler bei der Zertifikatsüberprüfung verursacht werden. In diesem Fall muss der Benutzer möglicherweise die Netzwerkverbindung überprüfen, sicherstellen, dass der Remote-Computer online ist, und versuchen, die Verbindung wiederherzustellen. Außerdem ist es wichtig, sicherzustellen, dass die Authentifizierungsoptionen des Remotecomputers richtig konfiguriert sind, um das Problem zu lösen. Solche Probleme mit den Windows-Remotedesktopdiensten können normalerweise durch sorgfältiges Überprüfen und Anpassen der Einstellungen behoben werden. Aufgrund eines Zeit- oder Datumsunterschieds kann Remote Desktop die Identität des Remotecomputers nicht überprüfen. Bitte stellen Sie Ihre Berechnungen sicher

Es gibt viele Benutzer, die die Remotedesktopverbindung verwenden. Bei der Verwendung werden einige kleinere Probleme auftreten, z. B. dass die Taskleiste des anderen Teilnehmers nicht angezeigt wird. Tatsächlich liegt das Problem an den Einstellungen des anderen Teilnehmers Lösungen unten. So zeigen Sie die Taskleiste des anderen Teilnehmers während einer Remotedesktopverbindung an: 1. Klicken Sie zunächst auf „Einstellungen“. 2. Öffnen Sie anschließend „Personalisierung“. 3. Wählen Sie dann links „Taskleiste“ aus. 4. Deaktivieren Sie die Option „Taskleiste ausblenden“ im Bild.

Wie kann das vom Browser eingeführte Problem unvollständiger jquery.js gelöst werden? Mit der kontinuierlichen Weiterentwicklung der Webentwicklung wird jQuery als hervorragende JavaScript-Bibliothek häufig in der Front-End-Entwicklung verwendet. In der tatsächlichen Entwicklung kommt es jedoch manchmal vor, dass der Browser die Datei jquery.js einführt, sie jedoch nicht vollständig lädt, was dazu führen kann, dass die Seite nicht ordnungsgemäß funktioniert oder nicht ordnungsgemäß ausgeführt wird. Wie also sollen wir dieses Problem lösen? Im Folgenden werden konkrete Lösungen auf mehreren Ebenen angegeben. 1. machen

Vue-Fehler: Das Plug-In kann nicht korrekt eingeführt werden. Wie kann es behoben werden? Das Einführen von Plug-Ins ist ein sehr häufiger Vorgang in der Vue-Entwicklung. Manchmal stoßen wir jedoch auf Probleme und können Plug-Ins nicht korrekt einführen, was zu Fehlern führt. In diesem Artikel werden einige mögliche Probleme und Lösungen vorgestellt und entsprechende Codebeispiele gegeben. Das Plug-in ist nicht korrekt installiert/eingeführt. Bevor Sie das Vue-Plug-in verwenden, müssen Sie zunächst sicherstellen, dass das Plug-in korrekt installiert und eingeführt wurde. Sie können es über npm installieren oder CDN-Ressourcen direkt einführen. Wenn das Plug-in über npm installiert wird, müssen Sie dies tun

Xshell „Xshell“ ist eine leistungsstarke sichere Terminalemulationssoftware, die die Protokolle SSH1, SSH2 und das TELNET-Protokoll der Windows-Plattform unterstützt. Durch die Verwendung von Xshell unter der Windows-Oberfläche können Benutzer problemlos auf Remote-Server zugreifen und Terminaloperationen aus der Ferne steuern. Darüber hinaus bietet Xshell auch verschiedene Farbschemata und Stiloptionen für das Erscheinungsbild, sodass Benutzer sie an ihre persönlichen Vorlieben anpassen und das Benutzererlebnis verbessern können. Die Funktionen und Vorteile von Xshell sind wie folgt: Sitzungsverwaltung: Verwenden Sie den Sitzungsmanager und vererbbare Sitzungskonfigurationen, um Sitzungen einfach zu erstellen, zu bearbeiten und zu starten. Umfassende Unterstützung: Unterstützt mehrere Verifizierungsmethoden, Protokolle oder Algorithmen zur Bewältigung verschiedener Situationen. lokale Shell

Behebung des Vue-Fehlers: Die Bibliothek eines Drittanbieters kann nicht korrekt importiert werden. Wie kann das Problem behoben werden? Die Einführung von Bibliotheken von Drittanbietern ist eine häufige Anforderung in der Vue-Entwicklung. Sie kann uns dabei helfen, bestimmte Geschäftslogiken zu handhaben oder einige Funktionen zu unterstützen. Bei der Einführung von Bibliotheken von Drittanbietern können jedoch einige Fehler auftreten, die zu Problemen bei unserer Entwicklung führen. In diesem Artikel werden einige häufig auftretende Probleme und Lösungen vorgestellt, um den Lesern zu helfen, besser mit diesen Fehlern umzugehen. Problem 1: Die Drittanbieterbibliothek kann nicht gefunden werden, wenn wir versuchen, die Importanweisung zum Einführen der Drittanbieterbibliothek zu verwenden

Serverlose Unterstützung eingeführt in PHP8.1 Mit dem Aufkommen von Cloud Computing und Microservices hat sich die serverlose Architektur nach und nach zu einem beliebten Entwicklungsmodell entwickelt. Dadurch können sich Entwickler auf das Schreiben von Code konzentrieren, ohne sich um zugrunde liegende Serververwaltungs- und Lastausgleichsprobleme kümmern zu müssen. Im November 2021 wurde PHP8.1 offiziell veröffentlicht und eine der auffälligsten neuen Funktionen ist die Unterstützung für Serverless. Kernkonzepte der serverlosen Architektur

Wie füge ich das LocalStorage-Paket in das Projekt ein? LocalStorage ist ein lokaler Speichermechanismus in Webbrowsern, der es Webseiten ermöglicht, Daten im Browser des Benutzers zu speichern und abzurufen. Es bietet eine einfache und benutzerfreundliche Methode zum Speichern und Lesen von Daten während der Projektentwicklung. In diesem Artikel stellen wir vor, wie das LocalStorage-Paket in das Projekt eingeführt wird, und stellen spezifische Codebeispiele bereit. Laden Sie das LocalStorage-Paket herunter. Zuerst müssen wir das Local herunterladen
