Muss socketio im Knoten verwendet werden?
Socketio muss in Node verwendet werden. Socketio ist eine NodeJS-Funktion, um einige Funktionen zu kapseln, und kann daher nur in NodeJS verwendet werden. Die zwischen den beiden etablierte bidirektionale Kommunikationsdatenaustauschtechnologie verwendet unten EngineIO.
Die Betriebsumgebung dieses Artikels: Windows 10-System, NodeJS Version 16, Dell G3-Computer.
socketio muss in nodejs verwendet werden.
socketio ist eine Bibliothek von nodejs. Sie entspricht der Verwendung anderer nodejs-Funktionen, um einige Funktionen für Sie zu kapseln. Sie hängt von einigen APIs von nodejs ab und kann daher nur unter nodejs verwendet werden .
SocketIO ist eine bidirektionale Kommunikationsdatenaustauschtechnologie, die zwischen dem Client und dem Server eingerichtet wird. Die zugrunde liegende Schicht verwendet EngineIO. Der Client von SocketIO verwendet Engine.IO-Client und der Server verwendet Engine.IO.
Erweiterte Kenntnisse
So funktioniert SocketIO
Wenn ein Browser versucht, SocketIO einzurichten, verwendet SocketIO zunächst xhr-polling, um eine lange Umfrage zu erstellen. Sobald die lange Abfrage eingerichtet ist, wird sie auf eine WebSocket-Verbindung aktualisiert.
Die unterste Ebene von SocketIO wird mithilfe der EngineIO-Bibliothek implementiert. Diese Bibliothek verwendet WebSocket und XMLHttprequest, um ihr eigenes Socket-Protokoll (vorübergehend EIO Socket genannt) zu kapseln. Ein vollständiger EIO-Socket umfasst mehrere XHR- und WebSocket-Verbindungen
Client
EIO-Socket übergibt einen XHR-Handshake (XMLHttprequest). Das Frontend sendet ein XHR, um dem Server mitzuteilen, dass ich mit der XHR-Langabfrage beginnen möchte. Zu den vom Backend zurückgegebenen Daten gehören ein Open-Flag (dargestellt durch die Zahl 0) sowie Sid- und Upgrades-Felder, Ping-Intervall und Ping-Timeout.
0{ “sid”: “8b7ab1ae-fbcf-4d23-8192-3c14a2a90721”, “upgrades”: [ “websocket” ], “pingInterval”: 10000, “pingTimeout”: 60000 }
sid ist die Sitzungs-ID dieses EIO-Sockets. Da ein EIO-Socket mehrere Anforderungen enthält und das Backend gleichzeitig eine Verbindung zu mehreren EIO-Sockets herstellt, entspricht die Sid der SESSION-ID.
Ein weiteres Feld-Upgrade, normalerweise [‘websocket’], gibt an, dass die Verbindungsmethode von Long Polling auf WebSocket aktualisiert werden kann.
Das Frontend startet die XHR-Langabfrage beim Senden des ersten Das sogenannte Long Polling bedeutet, dass das Frontend eine Anfrage sendet und der Server wartet, bis Daten zurückgegeben werden, bevor er antwortet. Das Frontend sendet sofort die nächste Anfrage, nachdem er die Antwort erhalten hat. Dies ermöglicht eine bidirektionale Kommunikation.
Nachdem das Frontend die Handshake-Upgrades erhalten hat, erkennt EIO, ob der Browser WebSocket unterstützt. Wenn dies der Fall ist, startet es eine WebSocket-Verbindung und sendet dann ein Datenelement mit dem Inhalt der Sonde und dem Ping-Typ an den Server über diesen WebSocket. Wenn der Server zu diesem Zeitpunkt Daten mit dem Sondeninhalt und dem Pong-Typ zurückgibt, stoppt das Front-End die zuvor eingerichtete HTTP-Langzeitabfrage und verwendet nur den WebSocket-Kanal zum Senden und Empfangen von Daten. Während des EIO-Socket-Lebenszyklus. Es wird eine Zeit lang gepingt, um zu testen, ob das Netzwerk normal ist.
Dies ist die Struktur des WebSocket-Frames, Grün sendet und Weiß empfängt. Die vorherige Zahl ist der Pakettyp, 2 ist Ping, 3 ist Pong, 42 ist Nachricht
Empfohlenes Lernen: „
nodejs Video-TutorialDas obige ist der detaillierte Inhalt vonMuss socketio im Knoten verwendet werden?. 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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

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



So löschen Sie einen Knoten mit nvm: 1. Laden Sie „nvm-setup.zip“ herunter und installieren Sie es auf dem Laufwerk C. 2. Konfigurieren Sie Umgebungsvariablen und überprüfen Sie die Versionsnummer mit dem Befehl „nvm -v“. install“-Befehl Knoten installieren; 4. Löschen Sie den installierten Knoten über den Befehl „nvm uninstall“.

Wie gehe ich mit dem Datei-Upload um? Der folgende Artikel stellt Ihnen vor, wie Sie Express zum Hochladen von Dateien im Knotenprojekt verwenden. Ich hoffe, er ist hilfreich für Sie!

Während dieser Zeit habe ich einen dynamischen HTML-Dienst entwickelt, der allen Kategorien von Tencent-Dokumenten gemeinsam ist. Um die Generierung und Bereitstellung des Zugriffs auf verschiedene Kategorien zu erleichtern und dem Trend der Cloud-Migration zu folgen, habe ich über die Verwendung von Docker nachgedacht Serviceinhalte verwalten und Produktversionen einheitlich verwalten. In diesem Artikel werden die Optimierungserfahrungen, die ich bei der Bereitstellung von Docker gesammelt habe, als Referenz weitergegeben.

In diesem Artikel stellen wir Ihnen das Prozessmanagement-Tool „pm2“ von Node vor und sprechen darüber, warum PM2 benötigt wird und wie Sie PM2 installieren und verwenden. Ich hoffe, dass es für alle hilfreich ist!

Detaillierte Erläuterungs- und Installationshandbuch für Pinetwork -Knoten In diesem Artikel wird das Pinetwork -Ökosystem im Detail vorgestellt - PI -Knoten, eine Schlüsselrolle im Pinetwork -Ökosystem und vollständige Schritte für die Installation und Konfiguration. Nach dem Start des Pinetwork -Blockchain -Testnetzes sind PI -Knoten zu einem wichtigen Bestandteil vieler Pioniere geworden, die aktiv an den Tests teilnehmen und sich auf die bevorstehende Hauptnetzwerkveröffentlichung vorbereiten. Wenn Sie Pinetwork noch nicht kennen, wenden Sie sich bitte an was Picoin ist? Was ist der Preis für die Auflistung? PI -Nutzung, Bergbau und Sicherheitsanalyse. Was ist Pinetwork? Das Pinetwork -Projekt begann 2019 und besitzt seine exklusive Kryptowährung PI -Münze. Das Projekt zielt darauf ab, eine zu erstellen, an der jeder teilnehmen kann

Wie packe ich die ausführbare Datei von nodejs mit pkg? Im folgenden Artikel erfahren Sie, wie Sie mit pkg ein Node-Projekt in eine ausführbare Datei packen. Ich hoffe, dass er Ihnen weiterhilft!

npm node gyp schlägt fehl, weil „node-gyp.js“ nicht mit der Version von „Node.js“ übereinstimmt. Die Lösung ist: 1. Löschen Sie den Knotencache über „npm cache clean -f“ 2. Über „npm install -“ g n“ Installieren Sie das n-Modul. 3. Installieren Sie die Version „node v12.21.0“ über den Befehl „n v12.21.0“.

Die Authentifizierung ist einer der wichtigsten Teile jeder Webanwendung. In diesem Tutorial werden tokenbasierte Authentifizierungssysteme und ihre Unterschiede zu herkömmlichen Anmeldesystemen erläutert. Am Ende dieses Tutorials sehen Sie eine voll funktionsfähige Demo, die in Angular und Node.js geschrieben wurde. Traditionelle Authentifizierungssysteme Bevor wir zu tokenbasierten Authentifizierungssystemen übergehen, werfen wir einen Blick auf traditionelle Authentifizierungssysteme. Der Benutzer gibt seinen Benutzernamen und sein Passwort im Anmeldeformular ein und klickt auf „Anmelden“. Nachdem Sie die Anfrage gestellt haben, authentifizieren Sie den Benutzer im Backend, indem Sie die Datenbank abfragen. Wenn die Anfrage gültig ist, wird eine Sitzung mit den aus der Datenbank erhaltenen Benutzerinformationen erstellt und die Sitzungsinformationen werden im Antwortheader zurückgegeben, sodass die Sitzungs-ID im Browser gespeichert wird. Bietet Zugriff auf Anwendungen, die unterliegen
