Heim Web-Frontend js-Tutorial Was sind die Schritte, um den noVNC-Remotedesktop in das Vue-Projekt einzuführen?

Was sind die Schritte, um den noVNC-Remotedesktop in das Vue-Projekt einzuführen?

Jun 01, 2018 pm 02:40 PM
引入 远程

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.

rrree

Zweitens können Sie bei Verwendung von Webpack npm zum Installieren von Abhängigkeiten verwenden, was bequemer ist.

git clone git://github.com/novnc/noVNC
Nach dem Login kopieren

Das Folgende ist der detaillierte Codeteil

HTML

npm install @novnc/novnc
Nach dem Login kopieren

Skript

<template> 
 <p class="page-home" ref="canvas"> 
 <canvas id="noVNC_canvas" width="800" height="600"> 
 Canvas not supported. 
 </canvas> 
 </p> 
</template>
Nach dem Login kopieren

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 &#39;../../noVNC/app/webutil.js&#39; 
 
import Base64 from &#39;../../noVNC/core/base64.js&#39; 
import Websock from &#39;../../noVNC/core/websock.js&#39; 
import &#39;../../noVNC/core/des.js&#39; 
import &#39;../../noVNC/core/input/keysymdef.js&#39; 
import &#39;../../noVNC/core/input/xtscancodes.js&#39; 
import &#39;../../noVNC/core/input/util.js&#39; 
import {Keyboard, Mouse} from &#39;../../noVNC/core/input/devices.js&#39; 
import Display from &#39;../../noVNC/core/display.js&#39; 
import &#39;../../noVNC/core/inflator.js&#39; 
import RFB from &#39;../../noVNC/core/rfb.js&#39; 
import &#39;../../noVNC/core/input/keysym.js&#39;
Nach dem Login kopieren

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 = &#39;&#39;,
  DEFAULT_PORT = &#39;&#39;,
  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(&#39;sHost:&#39; + sHost + &#39;--nPort:&#39; + nPort)
  cRfb.connect(sHost, nPort, sPassword, sPath);
 })
 },
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Remotedesktop kann die Identität des Remotecomputers nicht authentifizieren Remotedesktop kann die Identität des Remotecomputers nicht authentifizieren Feb 29, 2024 pm 12:30 PM

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

So stellen Sie eine Remotedesktopverbindung her und zeigen die Taskleiste des anderen Teilnehmers an So stellen Sie eine Remotedesktopverbindung her und zeigen die Taskleiste des anderen Teilnehmers an Jan 03, 2024 pm 12:49 PM

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.

So lösen Sie das Problem, dass der Browser die Datei jquery.js nicht vollständig lädt So lösen Sie das Problem, dass der Browser die Datei jquery.js nicht vollständig lädt Feb 25, 2024 pm 04:36 PM

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? Vue-Fehler: Das Plug-In kann nicht korrekt eingeführt werden. Wie kann es behoben werden? Aug 25, 2023 pm 02:21 PM

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

Sechs häufig verwendete Remote-Verbindungstools. Welches gefällt Ihnen am besten? Sechs häufig verwendete Remote-Verbindungstools. Welches gefällt Ihnen am besten? Feb 22, 2024 pm 06:28 PM

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? Behebung des Vue-Fehlers: Die Bibliothek eines Drittanbieters kann nicht korrekt importiert werden. Wie kann das Problem behoben werden? Aug 18, 2023 am 10:37 AM

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 Serverlose Unterstützung eingeführt in PHP8.1 Jul 09, 2023 pm 04:58 PM

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 nutzt das Projekt das localstorage-Paket? Wie nutzt das Projekt das localstorage-Paket? Jan 11, 2024 pm 04:04 PM

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

See all articles