Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Schreiben eines WebSocket-Servers in JavaScript (Deno)

Dieses Beispiel zeigt Ihnen, wie Sie mit Deno einen WebSocket-API-Server erstellen können, begleitet von einer zugehörigen Webseite.

Deno ist eine JavaScript-Laufzeitumgebung, die das Kompilieren und Zwischenspeichern von TypeScript unterstützt. Deno verfügt über einen integrierten Formatter, Linter, Test-Runner und mehr, und implementiert viele Web-APIs. Da es konform mit den Webstandards ist, werden alle Deno-spezifischen APIs im Deno-Namensraum implementiert.

Die Deno-Website bietet Anleitungen zur Installation von Deno.

Zum Zeitpunkt des Verfassens: Deno-Version 1.36.

Code

Der Code wird in zwei Dateien enthalten sein, eine für den Server und eine für den Client.

Server

Erstellen Sie eine main.js-Datei. Diese Datei wird den Code für einen einfachen HTTP-Server enthalten, der auch die Client-HTML bereitstellen wird.

Deno.upgradeWebSocket() wertet die Verbindung zu einer WebSocket-Verbindung auf, was im Protokoll-Upgrade-Mechanismus weiter erläutert wird.

Deno.serve() verwendet unter der Haube Deno.listen() und Deno.serveHttp() und bietet eine höherstufige Schnittstelle, um einfach einen HTTP-Server einzurichten. Ohne diese würde der Code folgendermaßen aussehen.

Client

Erstellen Sie eine index.html-Datei. Diese Datei wird ein Skript ausführen, das den Server alle fünf Sekunden pingt, nachdem eine Verbindung hergestellt wurde. Sie sollte auch das folgende Markup enthalten:

Ausführen des Codes

Mit den beiden Dateien führen Sie die Anwendung mit Deno aus.

Deno erfordert, dass wir explizite Berechtigungen für den Zugriff auf die Hostmaschine erteilen.

  • --allow-net=0.0.0.0:80 erlaubt der App, sich an localhost auf Port 80 anzuhängen
  • --allow-read=./index.html erlaubt den Zugriff auf die HTML-Datei für den Client

Siehe auch