Wie man einen WebSocket-Server mit Node.js erstellt

Ein WebSocket-Server ist ein wichtiger Bestandteil moderner Webanwendungen, da er es ermöglicht, im Echtzeit zu kommunizieren und Informationen zwischen dem Client und Server auszutauschen.

WebSocket-Server mit Node.js: Eine Einführung

Ein WebSocket-Server ist ein wichtiger Bestandteil moderner Webanwendungen, da er es ermöglicht, im Echtzeit zu kommunizieren und Informationen zwischen dem Client und Server auszutauschen. In diesem Artikel werden wir die Grundlagen eines WebSocket-Servers mit Node.js erstellen.

Voraussetzungen

  • Node.js 14 oder höher
  • Ein Texteditor oder IDE

Installierung von ws

Bevor wir beginnen, müssen wir das ws-Modul installieren. Dieses Modul bietet eine einfache Möglichkeit, WebSocket-Verbindungen zu erstellen und zu verwalten.

npm install ws

WebSocket-Server-Erstellung

Ein WebSocket-Server besteht aus mehreren Komponenten:

  • Server: Diese ist die Hauptkommunikationsstelle zwischen dem Client und dem Server.
  • Client: Dieser ist der Teil, der mit dem Server kommuniziert.

Wir werden eine einfache Implementierung eines WebSocket-Servers erstellen. Dieser Server wird ein Verbindungskontrolleure für Websocket-Anwendungen sein.

// server.js

const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });

wss.on('connection', (ws) => {
    console.log("Client verbunden");

    ws.on("message", (message) => {
        console.log(`Received message: ${message}`);
        // Server antwortet mit einer Nachricht
        ws.send(`Serverantwort: ${message}`);
    });
});

Wenn du den obigen Code in deiner Datei speicherst und ihn wie folgt ausführst:

node server.js

dann kann der WebSocket-Server auf Port 8080 laufen. Du kannst dann im Browser die folgende URL öffnen, um dich mit dem Server zu verbinden: http://127.0.0.1:8080/ws

Einfache Kommunikation zwischen Client und Server

Um eine einfache Kommunikation zwischen dem Client und dem Server zu ermöglichen, benötigen wir ein Websocket-Client. Wir werden in diesem Beispiel die ws.js Bibliothek verwenden, um ein WebSocket-Clients zu erstellen.

// client.js

const ws = new WebSocket('ws://localhost:8080');

ws.onmessage = (event) => {
    console.log(`Received message from server: ${event.data}`);
};

ws.onopen = () => {
    console.log("Verbunden");
};

ws.onclose = () => {
    console.log("Verbindung beendet");
};

ws.onerror = (error) => {
    console.error('Error:', error);
};

Wenn du den obigen Code in deiner Datei speicherst und ihn wie folgt ausführst:

node client.js

dann kann der Client mit dem Server verbunden werden und eine einfache Kommunikation ermöglichen.

Wichtige Punkte

  • Der WebSocket-Server sollte immer verantwortungsvoll auf Anfragen reagieren.
  • Der Verbindungskontrolleur sollte sich stets verbinden, obwohl die Verbindung beendet ist.
  • Die Funktion ws.send(message) sendet eine Nachricht an den Client.
  • Die Funktion ws.onmessage sendet eine Nachricht vom Client an den Server.
  • Der WebSocket-Client sollte immer auf den Zustand des Servers reagieren.

Fazit

Ein WebSocket-Server ist ein wichtiger Bestandteil moderner Webanwendungen, da er es ermöglicht, im Echtzeit zu kommunizieren und Informationen zwischen dem Client und Server auszutauschen. In diesem Artikel wurden die Grundlagen eines WebSocket-Servers mit Node.js erstellt.