Websocket mit Node.js

Inhaltsverzeichnis
Webanwendungen haben sich verändert und weiterentwickelt, wodurch sich die Bedürfnisse der Benutzer von denen unterscheiden, als das erste Verbindungsprotokoll im Netzwerk erstellt wurde. Folglich ist das Protokoll HTTP hat sich im Laufe der Jahre weiterentwickelt, hat aber noch kein Echtzeitniveau wie eine Verbindung erreicht TCP zwischen zwei Mannschaften.
Diese Einschränkungen, anstatt Entwicklern und Benutzern zu schaden, sind zu einer Quelle der Motivation und Kreativität geworden und haben Lösungen hervorgebracht, die es uns ermöglichen, ein Übertragungssystem nicht nur in Echtzeit zu emulieren, sondern auch durch HTTP tun es fast nativ.
WebsocketHier ist der Websocket, ein relativ neues Protokoll, das nur von den modernsten Browsern unterstützt wird und es uns ermöglicht, HTTP von allen Einschränkungen zu befreien und so effektiv über Header kommunizieren zu können BEKOMMEN.
Websocket Es befindet sich noch in einer Phase der aktiven Reifung, daher ist es sehr wahrscheinlich, dass wir es in neuen Lösungen zum Glück nicht finden werden Node.js Wir haben bereits einige Tools, die es uns ermöglichen, mit ihnen umzugehen, ohne uns auf unseren Einfallsreichtum verlassen zu müssen, um Tools auf niedrigerer Ebene zu entwickeln.
AnforderungenDies ist ein Tutorial für Fortgeschrittene, daher benötigen wir zunächst eine funktionsfähige Installation von Node.js In unserem System können wir uns dieses Tutorial ansehen, bevor wir es weiter vertiefen, außerdem benötigen wir Administratorrechte, um die Bibliotheken installieren zu können, die wir verwenden werden. Wir müssen mit den Konzepten von vertraut sein JavaScript zum Beispiel Ruf zurück und anonyme Funktionen. Endlich brauchen wir einen Texteditor wie Erhabener Text das erlaubt uns, die verschiedenen Codes zu schreiben, die in den Beispielen sind.
Um mit der Erstellung einer Anwendung zu beginnen, die uns die Verwendung ermöglicht Websockets Wir müssen zuerst eine kleine Struktur bauen, dies ist sehr einfach, aber notwendig, diese Struktur besteht aus:
1- Ein Ordner, in dem wir die Dateien unseres Projekts speichern.
2- Eine Datei namens server.js, diese Datei wird, wie der Name schon sagt, der Server sein, über den wir die Verbindung in Echtzeit mithilfe der Websockets.
3- Eine Datei namens client.html, diese Datei wird die Schnittstelle für die Kommunikation mit unserem Server über den Browser sein, sie ist erforderlich, damit wir die entsprechenden Informationen senden und empfangen können.
Da wir jetzt unsere Struktur definiert haben, können wir mit ein paar Codezeilen beginnen. Dazu müssen wir zunächst eine externe Bibliothek namens . installieren ws in unserer Umgebung, da dies uns ermöglicht, das fragliche Protokoll zu verwenden. Um diese Bibliothek zu installieren müssen wir nur unsere Konsole öffnen Node.js, wir befinden uns in dem Ordner, in dem sich unsere Dateien befinden werden, und geben den folgenden Befehl ein:
 npm ws installieren
Wenn wir es ausführen, können wir das folgende Ergebnis in unserer Befehlskonsole sehen:

Sobald wir die Bibliothek installiert haben, können wir unsere Arbeit fortsetzen, jetzt in unserer Datei server.js Wir müssen den folgenden Code schreiben, zuerst sehen wir, woraus er besteht, dann erklären wir ihn:
 var WSServer = erfordern ('ws').Server, wss = neuer WSServer ({port: 8085}); wss.on ('Verbindung', Funktion (Socket) {socket.on ('Nachricht', Funktion (msg) {console.log ('Received:', msg, '\ n', 'Von IP:', socket . upgradeReq.connection.remoteAddress); if (msg === 'Hallo') {socket.send ('Ja, es funktioniert!');}}); socket.on ('close', function (code, desc) {console .log ('Offline:' + Code + '-' + desc);});});
Als erstes benötigen wir die Bibliothek ws die wir gerade installiert haben und sofort in der gleichen anleitung eure klasse anrufen Server, dann erstellen wir eine Instanz, mit der wir einen Server erstellen werden, der auf dem Port läuft 8085Dieser Port kann alles sein, auf das wir Zugriff haben.In diesem Fall wird 8085 verwendet, damit kein Konflikt mit anderen Diensten entsteht, die sich derzeit in dieser Testumgebung befinden.
Da wir jetzt unsere Instanz definiert haben, wenden wir die Methode an.an () für das Verbindungsereignis, dann im Ruf zurück von ihm übergeben wir ein Objekt namens Steckdose, damit erhalten wir die Nachrichten vom Kunden und wir haben eine Routine geschrieben, die, wenn wir das Wort erhalten "Hallo" der Server gibt eine Nachricht zurück, in der wir wiederum etwas in der Befehlskonsole ausgeben. Wenn wir schließlich die Verbindung schließen, wird nur eine Nachricht auf der Konsole angezeigt.
Sobald wir unseren Server haben, ist es an der Zeit, unseren Client zu erstellen, dafür in der Datei client.html Wir werden eine Struktur definieren, in der wir HTML-Tags platzieren und a JavaScript die als Link zu unserem Server fungiert. Sehen wir uns an, wie unsere Datei aussieht:
 Websockets-Client senden
Das Teil HTML ist ganz einfach, wir haben eine Texteingabe und einen Absenden-Button sowie ein div Ausgabe genannt, die die Informationen vom Server erhält, um sie dem Benutzer anzuzeigen. Das Interessante kommt im Etikett, wo wir als erstes ein Objekt des Typs erstellen WebSocket und wir geben die Route an, wo Sie sie finden müssen, in unserem Fall ist es die localhost: 8085 und damit wir sehen können, was wir in der server.js. Anschließend verknüpfen wir unsere Sende-, Text- und Ausgabeelemente mit Variablen, die wir verwenden können.
Dann definieren wir jede der Methoden, die wir vom Server empfangen können. Jedes Mal, wenn wir etwas senden, wird dies dank der Methode in unserer Ausgabe aufgezeichnet senden (). Die andere Methode, die wir verwenden, ist die onmessage () die nur aktiviert wird, wenn unser Server antwortet und wir das Ergebnis in unseren HTML-Code einfügen.
Schließlich verwenden wir die Methoden aufschließen () Ja Fehler (), der erste gibt uns eine Nachricht, wenn die Verbindung mit dem Websocket gestoppt oder geschlossen wird, und die zweite informiert uns, falls ein Fehler aufgetreten ist. Damit müssen wir nur den Server in unserer Konsole starten und unser Beispiel zum Laufen bringen, dazu verwenden wir folgenden Befehl:
 Knotenserver.js
Dadurch wird der Server gestartet, aber um die Funktionalität unseres Codes zu überprüfen, müssen wir unsere Datei client.html in unserem Browser unserer Wahl ausführen und etwas in das Textfeld schreiben und die Senden-Schaltfläche drücken Websocket und wir können die Antwort von der Konsole sehen:

Auf dem Bild können wir sehen, wie die Befehlskonsole die empfangene Nachricht druckt und sogar die IP-Adresse registriert, von der sie die Daten empfängt, das haben wir in unserer Datei programmiert server.js, wo wir auch angegeben haben, dass wir, wenn wir das Wort "Hallo" erhalten, eine Antwortnachricht senden würden, die genau das ist, was wir im Browserfenster im gleichen Bild sehen. Wenn wir nun den Browser aktualisieren, wird die Verbindung unterbrochen, dies wird auch von unserer Anwendung registriert, mal sehen:

Schließlich, wenn wir die Verbindung in unserer Konsole mit schließen mit STRG + C Um den Server zu stoppen, feuert unser Browser den Fehlerhandler und dort sehen wir eine neue Nachricht:

Wenn wir Beobachter waren, haben wir vielleicht etwas Wichtiges bemerkt, zu keinem Zeitpunkt mussten wir den Browser aktualisieren oder eine Anfrage stellen, um Antworten zu erhalten Ajax, alles war direkt bidirektional mit WebSockets, das nennt man Echtzeit.
Was wir gezeigt haben, ist eine der rudimentärsten und manuellsten Möglichkeiten, die es gibt, aber es funktioniert für uns, den Workflow zu kennen, aber die eigentliche Funktionalität, die für Produktionsumgebungen bereit ist, wird mit der Bibliothek erreicht socket.io, macht dies dasselbe wie im Tutorial, jedoch in einem viel kompakteren und weniger fehleranfälligen Rahmen für den Entwickler, wodurch wir uns nur auf die Logik der Anwendung und nicht so sehr auf den technischen Teil konzentrieren können.
Für die Installation socket.io wir müssen nur a npm install socket.io und damit laden wir aus dem Repository die neueste stabile Version der Bibliothek herunter, die es uns ermöglicht, mit der Entwicklung zu beginnen.
Damit haben wir dieses Tutorial abgeschlossen, mit dem wir einen wichtigen Schritt nach innen gemacht haben Node.js indem Sie wissen, wie man die Websockets, diese Technologie wird jeden Tag wichtiger, da sie uns hilft, Anwendungen zu erstellen, an die im Web nie gedacht wurde. Es ist auch wichtig, dass wir uns selbst über das Protokoll dokumentieren, da es eine Möglichkeit ist, das Potenzial dessen zu verstehen, was wir allein durch die Entwicklung von Anwendungen erreichen können.
wave wave wave wave wave