Heim Web-Frontend H5-Tutorial So spiegeln Sie den NoVNC-Remotedesktop im Vue-Projekt wider

So spiegeln Sie den NoVNC-Remotedesktop im Vue-Projekt wider

Mar 27, 2018 pm 02:54 PM
远程

Dieses Mal zeige ich Ihnen, wie Sie den NoVNC-Remote-Desktop im Vue-Projekt zuordnen sehen.

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 für die Konvertierung zwischen WebSockets und TCP-Sockets aktiviert werden. 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.

Zweitens können Sie dies tun Verwenden Sie npm. Die Installation von Abhängigkeiten ist bequemer.
git clone git://github.com/novnc/noVNC
Nach dem Login kopieren

npm install @novnc/novnc
Nach dem Login kopieren

Das Folgende ist der detaillierte Codeteil

HTML

<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
Skript

Da die erste Importmethode verwendet wird, 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.
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'
Nach dem Login kopieren

Nachdem die Ressourcen vorgestellt wurden, besteht der nächste Schritt darin, sie zu verwenden, was eigentlich nicht kompliziert ist. Es gibt nicht viel zu sagen, fangen wir an.

Zuerst wird eine Methode im Methoden
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);
 })
 },
Nach dem Login kopieren
Lebenszyklus

definiert und initialisierungsbezogene Vorgänge werden darin geschrieben. 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 nach erfolgreicher Verbindung

Sie können danach einige Parameterinformationen festlegen die Verbindung ist erfolgreich oder Bildschirmgröße usw.
// 远程桌面连接成功后的回调函数 
 _onCompleteHandler (rfb, fbu) { 
 // 清除 onComplete 的回调。 
 rfb.set_onFBUComplete(function () { 
 }); 
 
 var oDisplay = rfb.get_display(), 
  nWidth = oDisplay.get_width(), 
  nHeight = oDisplay.get_height(), 
 
  oView = oDisplay.get_target(), 
  nViewWidth = oView.clientWidth, 
  nViewHeight = oView.clientHeight 
 ; 
 
 // 设置当前与实际的比例。 
 oDisplay.setScale(nWidth / nViewWidth, nHeight / nViewHeight); 
 
 }
Nach dem Login kopieren

Nach Abschluss der oben genannten Vorgänge können Sie auf der Webseite einen Remote-Desktop-Bildschirm sehen.

Ein einfacher Remote-Desktop kann bedient werden. Wenn Sie weitere Parameter oder Anforderungen haben, besuchen Sie bitte die offizielle Website

Klicken Sie hier, um den Link zu öffnen

. Oder kontaktieren Sie mich, um zu besprechen Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

So erstellen Sie ein dynamisches 3D-Diagramm mit Canvas


H5-Mobilseitenskalierung

Das obige ist der detaillierte Inhalt vonSo spiegeln Sie den NoVNC-Remotedesktop im Vue-Projekt wider. 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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

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.

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

So lernen und verwenden Sie Remote-Verbindungsbefehle So lernen und verwenden Sie Remote-Verbindungsbefehle Jan 12, 2024 pm 07:57 PM

Für viele Ingenieure, die in den Bereichen Betrieb und Wartung tätig sind, ist die geschickte Verwendung von Remote-Befehlen sehr wichtig. Heute werde ich über die Verwendung von Remote-Verbindungsbefehlen sprechen. Das Microsoft Windows-Betriebssystem verfügt über eine eigene Remote-Verbindungsfunktion. Viele Freunde wissen nicht, wie man den Remote-Verbindungsbefehl verwendet. So verwenden Sie den Remote-Verbindungsbefehl 1. Drücken Sie die Tastenkombination Windows+R auf der Tastatur, um das Dialogfeld „Ausführen“ zu öffnen, geben Sie den Remote-Verbindungsbefehl „mstsc“ in das Feld „Ausführen“ ein und drücken Sie die Eingabetaste. Remote-Verbindungsdiagramm-12. Anschließend wird das Dialogfeld „Remote-Desktop-Verbindung“ angezeigt. Geben Sie den Computernamen oder die IP-Adresse ein.

Ein ausführlicher Blick auf Linux-Remoteverwaltungsprotokolle: ein umfassender Leitfaden für die technische Praxis Ein ausführlicher Blick auf Linux-Remoteverwaltungsprotokolle: ein umfassender Leitfaden für die technische Praxis Feb 24, 2024 pm 02:18 PM

„Umfassende Interpretation des Linux-Remoteverwaltungsprotokolls: Ein vollständiger Leitfaden für die technische Praxis, spezifische Codebeispiele sind erforderlich.“ Mit der rasanten Entwicklung des Internets ist die Remoteverwaltung von Servern zu einer effizienten Methode zur Serververwaltung geworden, und das Remoteverwaltungsprotokoll unter dem Das Linux-System hat noch mehr Aufmerksamkeit erregt. In diesem Artikel wird das Linux-Remoteverwaltungsprotokoll umfassend erläutert, detaillierte technische Übungsstrategien bereitgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern ein tiefes Verständnis und eine praktische Übung der Methode der Remoteverwaltung von Servern zu ermöglichen. 1. SSH-Protokoll SSH (SecureShell) ist ein

Bedrohung durch Java-Remotecodeausführungsschwachstelle Bedrohung durch Java-Remotecodeausführungsschwachstelle Aug 08, 2023 pm 03:21 PM

Die Bedrohung durch Schwachstellen bei der Remotecodeausführung in Java Java ist eine leistungsstarke und weit verbreitete Programmiersprache, die von vielen Unternehmen und Entwicklern zum Erstellen sicherer und zuverlässiger Anwendungen verwendet wird. Allerdings weist auch Java einige Sicherheitslücken auf, darunter die Sicherheitslücke bei der Remotecodeausführung. In diesem Artikel wird die Bedrohung durch Schwachstellen bei der Ausführung von Java-Remotecode vorgestellt und ein Codebeispiel zur Veranschaulichung bereitgestellt. Unter einer Schwachstelle bezüglich Remotecodeausführung versteht man eine Schwachstelle, bei der ein Angreifer bösartigen Code eingeben kann, um die Zielanwendung zur Ausführung des Codes zu veranlassen. Diese Schwachstelle ist in der Regel anwendungsbedingt

Wie man mit PHP-Remote-Image-Download-Fehlern umgeht und entsprechende Fehlermeldungen generiert Wie man mit PHP-Remote-Image-Download-Fehlern umgeht und entsprechende Fehlermeldungen generiert Aug 06, 2023 pm 07:57 PM

So gehen Sie mit PHP-Remote-Image-Download-Fehlern um und generieren entsprechende Fehlermeldungen. Bei der Entwicklung von Webanwendungen müssen Sie häufig Bilder von einem Remote-Server herunterladen. Aus verschiedenen Gründen kann es jedoch beim Herunterladen von Bildern zu Fehlern kommen. In diesem Artikel erfahren Sie, wie Sie Fehler beim Remote-Download von Bildern in PHP behandeln und entsprechende Fehlermeldungen generieren. Verwenden Sie die Funktion „file_get_contents“, um Remote-Bilder herunterzuladen. Sie können die Funktion „file_get_contents“ in PHP verwenden, um Remote-Bilder herunterzuladen. Unten finden Sie eine Zusammenfassung

Entmystifizierung des Linux Remote Management Protocol: Verstehen Sie alle Aspekte von Technologieanwendungen Entmystifizierung des Linux Remote Management Protocol: Verstehen Sie alle Aspekte von Technologieanwendungen Feb 24, 2024 am 09:21 AM

Das Linux-Remoteverwaltungsprotokoll war schon immer ein wichtiger Bestandteil der Netzwerkverwaltung. Es bietet ein breites Anwendungsspektrum, das Serververwaltung, Fernwartung, Überwachung und andere Aspekte umfasst. In Linux-Systemen gibt es viele Fernverwaltungsprotokolle, zu den gebräuchlicheren gehören SSH, Telnet, VNC usw. Dieser Artikel konzentriert sich auf diese Protokolle, befasst sich mit den technischen Anwendungen von Linux-Remoteverwaltungsprotokollen und stellt spezifische Codebeispiele bereit. 1.SSH-Protokoll SSH (SecureShell) ist ein

See all articles