ws

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist die ws-Bibliothek?

ws ist eine leichtgewichtige, schnelle und bewährte WebSocket-Bibliothek für Node.js, geschrieben in TypeScript. Sie bietet sowohl Client- als auch Server-Implementierungen des WebSocket-Protokolls (RFC 6455). Die Bibliothek zeichnet sich durch minimale Abhängigkeiten, hohe Leistung und vollständige Unterstützung moderner WebSocket-Standards aus, einschließlich der permessage-deflate-Komprimierung.

Wofür wird ws benötigt?

WebSocket ist ein Protokoll für bidirektionale Kommunikation über TCP, das den Echtzeit-Datenaustausch zwischen Client und Server ermöglicht, ohne dass ständige HTTP-Anfragen erforderlich sind. Die ws-Bibliothek wird benötigt, um Anwendungen zu erstellen, die eine sofortige Datenübertragung erfordern: Chats, Online-Spiele, Börsenkurse, Benachrichtigungssysteme, gemeinsame Dokumentenbearbeitung und alle anderen Echtzeitdienste.

Wie installiert man es?

Installation über npm oder yarn:

npm install ws
yarn add ws

Für TypeScript-Projekte sind keine zusätzlichen Typen erforderlich – die Bibliothek enthält bereits Typdeklarationen.

Hauptfunktionen

  • Bidirektionale Kommunikation — gleichzeitiges Senden und Empfangen von Nachrichten.
  • Automatische Wiederverbindung (wird durch benutzerdefinierten Code implementiert, aber die Bibliothek stellt alle erforderlichen Ereignisse bereit).
  • Unterstützung für Komprimierung (permessage-deflate) zur Reduzierung des Datenverkehrs.
  • Arbeit mit Buffern und Strings — Senden sowohl von Text- als auch von Binärdaten.
  • Ereignismodell — Verarbeitung der Ereignisse open, message, close, error.
  • Clustering — Unterstützung für die Arbeit mit mehreren Prozessen (über broadcast).
  • WebSocket-Erweiterungen — Unterstützung für benutzerdefinierte Protokolle und Erweiterungen.

Codebeispiel in TypeScript

Einfacher WebSocket-Server und -Client:

// server.tsimport { WebSocketServer } from 'ws';

const wss = new WebSocketServer({ port: 8080 });

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

ws.on('message', (data) => { console.log('Empfangen:', data.toString()); ws.send('Hallo vom Server!'); });

ws.on('close', () => { console.log('Client getrennt'); });});

console.log('Server läuft auf Port 8080');
// client.tsimport WebSocket from 'ws';

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

ws.on('open', () => { console.log('Mit Server verbunden'); ws.send('Hallo vom Client!');});

ws.on('message', (data) => { console.log('Serverantwort:', data.toString()); ws.close();});

ws.on('close', () => { console.log('Verbindung geschlossen');});

Wann sollte ws verwendet werden?

Die ws-Bibliothek ist ideal geeignet für:

  • Erstellung hochbelastbarer Echtzeitanwendungen (Chat-Systeme, Online-Spiele).
  • Echtzeit-Datenübertragung (Börsendaten, IoT-Streams).
  • Benachrichtigungs- und Alarmierungssysteme.
  • Zusammenarbeit (kollaboratives Bearbeiten, Aufgabenboards).
  • Server, die in einem Cluster oder unter PM2 laufen.

Wenn Sie eine minimalistische, schnelle und zuverlässige WebSocket-Bibliothek für TypeScript/Node.js benötigen – ws ist der De-facto-Standard.

Empfehlungen