このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

WebSocket サーバーを JavaScript (Deno) で書く

この例では、 Deno を使用して WebSocket API サーバーを作成する方法を、付随するウェブページと共に示します。

Deno は JavaScript ランタイムで、 TypeScript のコンパイルとオンザフライでのキャッシュに対応しています。 Deno はフォーマッター、リンター、テストランナーなどを持ち、また多くのウェブ API も実装しています。ウェブ標準に準拠するために、 Deno 固有の API はすべて Deno 名前空間の下に実装されています。

Deno のウェブサイトでは、 Deno のインストール方法を提供しています。

執筆時点での Deno のバージョンは 1.36 です。

コード

コードはサーバー用とクライアント用の 2 つのファイルに格納します。

サーバー

main.js ファイルを作成します。このファイルにはクライアントに HTML を提供する単純な HTTP サーバーのコードを格納します。

Deno.upgradeWebSocket() は接続をウェブソケット接続にアップグレードします。これはプロトコルアップグレードメカニズムで詳しく説明されています。

Deno.serve() は、 Deno.listen()Deno.serveHttp() を基盤に使用し、 HTTP サーバーを簡単に設定するための上位インターフェイスです。これがなければ、コードは次のように見ていくことになります。

クライアント

index.html ファイルを作成します。これは、接続が確立された後、 5 秒ごとにサーバーに ping を送信するスクリプトを呼び出します。また、次のマークアップが含まれている必要があります:

コードの実行

これら 2 つのファイルを用いて、 Deno を使用してアプリを実行します。

Deno では、ホストマシン上でアクセスするための明示的な権限を要求します。

  • --allow-net=0.0.0.0:80 はアプリが localhost を 80 番ポートで使用することを許可します。
  • --allow-read=./index.html はクライアントが HTML ファイルにアクセスできるようにします。

関連情報