Heim Web-Frontend H5-Tutorial HTML5: Web-Socket und Web-Worker

HTML5: Web-Socket und Web-Worker

Oct 17, 2016 am 09:52 AM

Während der Übung bin ich auf eine Multiple-Choice-Frage zu Web-Workern gestoßen. Werden Web-Worker die Seitenleistung beeinflussen? Nach der Nachhilfe lautet die Antwort: Es wird keinen Einfluss darauf haben.

Ich habe relevante Informationen konsultiert, um mehr über Web-Worker zu erfahren, und bin auf Web-Sockets gestoßen. Die Zusammenfassung lautet wie folgt:

Die Rolle von Web-Sockets und Workern: Bietet eine neue Referenzlösung für den Aufbau hoch-. leistungsstarke Webanwendungen.

Web Socket bietet ein effizienteres Übertragungsprotokoll und Web Worker bietet Multithreading, um die Recheneffizienz von Webanwendungen zu verbessern.

1. Web-Socket

1. Web-Socket ist im Wesentlichen dasselbe wie http und TCP. Das Protokoll wird verwendet, um zu beschreiben, wie Daten übertragen werden. Ich habe einen kleinen Online-Chat mit socket.io geschrieben und dann das Projekt zusammengefasst.

2. Es gibt zwei Präfixe für Web-Socket: (1) ws:// ist nicht verschlüsselt. (2)wss:// ist verschlüsselt.

3. Die Art und Weise, wie Client und Server mit Web-Sockets interagieren, kann auch als „HTTP-Handshake-TCP-Datenübertragungsmethode“ verstanden werden:

(1) Browser (Browser, der Websocket unterstützt) Wie HTTP, initiieren Sie eine Anfrage und warten Sie dann auf die Antwort vom Server. (2) Der Server gibt eine Handshake-Antwort zurück und weist den Browser an, nachfolgende Daten gemäß dem vom Websocket angegebenen Datenformat zu übertragen

(3) Die Socket-Verbindung zwischen dem Browser und dem Server wird nicht unterbrochen. Der Unterschied zwischen dieser Verbindung und http besteht darin, dass sie duplex ist.

(4) Der Browser und der Server verfügen über keine Daten übertragen werden muss. Nutzen Sie diese lange Verbindung zur Datenübertragung.

Hinweis: HTTP-Handshake: Dies liegt daran, dass der Handshake-Prozess zwischen dem Browser und dem Server beim Aufbau einer langen Verbindung gemäß dem HTTP1.1-Protokoll gesendet wird, einschließlich Anforderung, Anforderungsheader, Antwort und Antwortheader. Der Unterschied besteht jedoch darin, dass die Felder im Header bestimmte Bedeutungen haben.

TCP-Übertragung: Dies spiegelt sich hauptsächlich darin wider, dass der Browser nach dem Aufbau einer langen Verbindung Daten an den Server senden kann und der Server auch Anfragen an den Browser senden kann. Natürlich ist das Datenformat nicht selbst definiert. Auf der äußeren Schicht der zu übertragenden Daten gibt es ein äußeres Paket.

4. Datenübertragungsprozess: Die Datenübertragungsform von WebSocket ist: Frame. Beispielsweise wird eine Nachricht in mehrere Frames unterteilt und nacheinander übertragen. Dies hat mehrere Vorteile:

(1) Die Übertragung großer Datenmengen kann in Fragmenten übertragen werden, ohne dass das durch die Datengröße verursachte Flag für unzureichende Länge berücksichtigt wird.

(2) Wie bei einem HTTP-Block können Nachrichten übertragen und gleichzeitig Daten generiert werden, was die Übertragungseffizienz verbessert.

5. Der Client verwendet Web-Socket-Syntax: JavaScript.

Server: unterstützt mehrere Web-Frameworks.

2. Web-Worker

1. Beim Ausführen eines Skripts in einer HTML-Seite ist der Status der Seite nicht reaktionsfähig, bis das Skript abgeschlossen ist.

Der Web-Worker ist JavaScript, das im Hintergrund unabhängig von anderen Skripten ausgeführt wird und die Leistung der Seite nicht beeinträchtigt. Sie können weiterhin tun, was Sie wollen: Klicken, Auswählen usw., während der Web-Worker im Hintergrund ausgeführt wird.

Zusätzlich zu DOM-Operationen kann theoretisch jede JS-Skriptaufgabe zur Ausführung in den Worker gestellt werden; die syntaktische Einschränkung besteht darin, dass auf JS nicht domänenübergreifend zugegriffen werden kann. Worker werden häufig für komplexe Berechnungen eingesetzt, die viel Zeit und CPU-Ressourcen erfordern, um den Front-End-Benutzerbetrieb benutzerfreundlicher zu gestalten, d. h. aus Sicht des Benutzererlebnisses wird die Serviceleistung verbessert.

2. Web-Worker-Nutzung: (Wenn wir das Web-Worker-Objekt erstellen, wartet es weiterhin auf Nachrichten (auch nach Abschluss des externen Skripts), bis es beendet wird.)

( 1) Erhalten Sie empfangene Nachrichten, indem Sie dem Web Worker einen „onmessage“-Ereignis-Listener hinzufügen.

Eine Nachricht senden: postMessage()

Beenden Sie den Web Worker und geben Sie Browser-/Computerressourcen frei:terminate()

(2) Durch Hinzufügen eines Ereignis-Listeners Um die Nachricht zu verarbeiten, kommunizieren Sie mit dem Hauptthread über die Funktion self

HTTP-Protokoll-Chunk-Codierung (Chunk-Transfer-Codierung)
var worker =new Worker("worker_job.js"); //创建一个Worker对象并向它传递将在新线程中执行的脚本的URL

 worker.postMessage("hello world");     //向worker发送数据
 
 worker.onmessage =function(evt){     //接收worker传过来的数据函数
   console.log(evt.data);              //输出worker发送来的数据
 }
Nach dem Login kopieren

Leistungsvergleich von sieben Web-Socket-Frameworks

self.addEventListener('message', function(e) {
    var data = e.data;
    if(data == 'init')
        init();
    else
        ...
}, false);

self.postMessage("hello worker");
Nach dem Login kopieren

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)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen 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)

So führen Sie das H5 -Projekt aus So führen Sie das H5 -Projekt aus Apr 06, 2025 pm 12:21 PM

Ausführen des H5 -Projekts erfordert die folgenden Schritte: Installation der erforderlichen Tools wie Webserver, Node.js, Entwicklungstools usw. Erstellen Sie eine Entwicklungsumgebung, erstellen Sie Projektordner, initialisieren Sie Projekte und schreiben Sie Code. Starten Sie den Entwicklungsserver und führen Sie den Befehl mit der Befehlszeile aus. Vorschau des Projekts in Ihrem Browser und geben Sie die Entwicklungsserver -URL ein. Veröffentlichen Sie Projekte, optimieren Sie Code, stellen Sie Projekte bereit und richten Sie die Webserverkonfiguration ein.

Wie verwende ich Ansichtsfenster -Meta -Tags, um die Seite zu steuern, die auf mobilen Geräten skaliert wird? Wie verwende ich Ansichtsfenster -Meta -Tags, um die Seite zu steuern, die auf mobilen Geräten skaliert wird? Mar 13, 2025 pm 08:00 PM

In dem Artikel werden die Meta-Tags mit Ansichtsfenster besprochen, um die Seite zu steuern, die auf mobilen Geräten skaliert und sich auf Einstellungen wie Breite und initiale Maßstäbe für optimale Reaktionsfähigkeit und Leistung konzentriert.Character Count: 159

Was genau bedeutet H5 -Seitenproduktion? Was genau bedeutet H5 -Seitenproduktion? Apr 06, 2025 am 07:18 AM

Die Produktion von H5-Seiten bezieht sich auf die Erstellung von plattformübergreifenden kompatiblen Webseiten unter Verwendung von Technologien wie HTML5, CSS3 und JavaScript. Sein Kern liegt im Parsingcode des Browsers, der Struktur-, Stil- und interaktive Funktionen macht. Zu den allgemeinen Technologien gehören Animationseffekte, reaktionsschnelles Design und Dateninteraktion. Um Fehler zu vermeiden, sollten Entwickler debuggen werden. Leistungsoptimierung und Best Practices umfassen Bildformatoptimierung, Anforderungsreduzierung und Codespezifikationen usw., um die Ladegeschwindigkeit und die Codequalität zu verbessern.

Wie benutze ich die API der HTML5 -Seite Sichtbarkeit, um zu erkennen, wann eine Seite sichtbar ist? Wie benutze ich die API der HTML5 -Seite Sichtbarkeit, um zu erkennen, wann eine Seite sichtbar ist? Mar 13, 2025 pm 07:51 PM

In dem Artikel werden die Sichtbarkeits -API der HTML5 -Seite mit der Sichtbarkeit von Seiten ermittelt, die Benutzererfahrung verbessert und die Ressourcennutzung optimiert. Zu den wichtigsten Aspekten gehören die Pause, die Verringerung der CPU -Last und die Verwaltung von Analysen auf der Grundlage von Sichtbarkeitsänderungen.

Wie gehe ich mit der Privatsphäre und Berechtigungen des Benutzer Ort mit der Geolocation -API um? Wie gehe ich mit der Privatsphäre und Berechtigungen des Benutzer Ort mit der Geolocation -API um? Mar 18, 2025 pm 02:16 PM

In dem Artikel wird die Verwaltung der Privatsphäre und Berechtigungen des Benutzerstandorts mithilfe der Geolocation -API erörtert, wobei die Best Practices für die Anforderung von Berechtigungen, die Gewährleistung der Datensicherheit und die Einhaltung der Datenschutzgesetze hervorgehoben werden.

Bedarf die Produktion von H5 -Seiten eine kontinuierliche Wartung? Bedarf die Produktion von H5 -Seiten eine kontinuierliche Wartung? Apr 05, 2025 pm 11:27 PM

Die H5 -Seite muss aufgrund von Faktoren wie Code -Schwachstellen, Browserkompatibilität, Leistungsoptimierung, Sicherheitsaktualisierungen und Verbesserungen der Benutzererfahrung kontinuierlich aufrechterhalten werden. Zu den effektiven Wartungsmethoden gehören das Erstellen eines vollständigen Testsystems, die Verwendung von Versionstools für Versionskontrolle, die regelmäßige Überwachung der Seitenleistung, das Sammeln von Benutzern und die Formulierung von Wartungsplänen.

Wie verwende ich die HTML5 -Drag & Drop -API für interaktive Benutzeroberflächen? Wie verwende ich die HTML5 -Drag & Drop -API für interaktive Benutzeroberflächen? Mar 18, 2025 pm 02:17 PM

In dem Artikel wird erläutert, wie die HTML5 -Drag & Drop -API verwendet wird, um interaktive Benutzeroberflächen zu erstellen, Schritte zu detaillieren, um Elemente draggierbar zu machen, Schlüsselereignisse zu verarbeiten und Benutzererfahrung mit benutzerdefiniertem Feedback zu verbessern. Es wird auch gemeinsame Fallstricke zu a diskutiert

Welche Anwendungsszenarien eignen sich für die H5 -Seitenproduktion Welche Anwendungsszenarien eignen sich für die H5 -Seitenproduktion Apr 05, 2025 pm 11:36 PM

H5 (HTML5) eignet sich für leichte Anwendungen wie Marketingkampagnen, Produktdisplayseiten und Micro-Websites für Unternehmenswerbung. Seine Vorteile liegen in plattformartigen und reichhaltigen Interaktivität, aber seine Einschränkungen liegen in komplexen Interaktionen und Animationen, lokalen Ressourcenzugriff und Offline-Funktionen.

See all articles