ホームページ >ウェブフロントエンド >フロントエンドQ&A >wsを使用してnodejsを開発する方法

wsを使用してnodejsを開発する方法

PHPz
PHPzオリジナル
2023-04-05 13:50:301271ブラウズ

Node.js の継続的な開発により、Websocket は Node.js でリアルタイムの双方向通信を実現する一般的な方法になりました。この記事では、ws モジュールを使用して、Node.js でリアルタイム通信機能を備えたアプリケーションを構築する方法を紹介します。

1. Websocket とは何ですか?

Websocket は、リアルタイムの双方向通信をサポートするテクノロジーです。一方向のリクエストのみを実行できる HTTP プロトコルと比較して、Websocket は双方向の通信チャネルを確立できるため、クライアントがサーバーに対してリクエストを継続的に開始する必要がなく、クライアントとサーバーはリアルタイムでデータを送信できます。 、HTTP の節約 このプロトコルは、ポーリングにより大量のネットワーク帯域幅を生成します。

2. ws モジュールの紹介

ws モジュールは、Websocket を実装するために使用される Node.js のモジュールであり、一般的な実装方法でもあります。その API は非常にシンプルで、外部依存関係がないため、使いやすくなっています。 wsモジュールを使って簡単なチャットルームを実装する方法を紹介します。

3. 新しい Node.js プロジェクトを初期化する

まず、最新バージョンの Node.js をシステムにインストールします。インストールが完了したら、ターミナルを開いてプロジェクトを作成するディレクトリに移動し、次のコマンドを入力します:

mkdir ws_demo && cd ws_demo && npm init

次に、プロンプトに従って段階的にプロジェクトを構成します。

4. ws モジュールのインストールと参照

プロジェクト ディレクトリで次のコマンドを使用して、ws モジュールをインストールします:

npm install ws

次に、ws モジュールをserver.js ファイルに導入します:

const WebSocket = require('ws');

5. WebSocket を作成しますserver

WebSocket サーバーを作成するには、サーバーの特定のポートで受信接続リクエストをリッスンする必要があります。 Node.js で、次のコードを使用して Websocket サーバーを作成します:

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

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

このコードは、ポート 8080 に Websocket サーバーを作成します。新しいクライアントがサーバーに正常に接続すると、サーバーは「クライアントが接続されました」というメッセージを出力します。

6. サーバー側のブロードキャスト メッセージ

これで、WebSocket サーバーが作成され、クライアント接続を受信できるようになりました。しかし、実際的な効果はほとんどありません。実際の機能をいくつか追加してみましょう。サーバーにいくつかのメッセージをブロードキャストさせ、サーバーに接続しているすべてのクライアントがそのメッセージを受信するようにすることができます。

wss.on() メソッド内に次のコードを追加します。

wss.on('connection', (ws) => {
  console.log('Client connected');
  ws.on('message', (message) => {
    console.log(`Received message => ${message}`)
    wss.clients.forEach((client) => {
      if (client.readyState === WebSocket.OPEN) {
        client.send(`Broadcast message => ${message}`);
      }
    });
  });
});

このコードは、クライアント接続が成功したときにイベント リスナーを追加します。新しいメッセージが到着すると、サーバーはそれをログに記録し、wss.clients.forEach() を使用して現在接続しているすべてのクライアントをループし、利用可能な場合はすべてのクライアントにメッセージをブロードキャストします。

7. テスト

これで、ws モジュールのインストールとサーバー側コードの開発のすべての手順が完了したので、あとはクライアントを使用してテストするだけです。 Websocket クライアントを使用すると、さまざまなブラウザ拡張機能やコマンド ライン ツールを利用できます。お気に入りのツールを使用して、wss://localhost:8080 に接続します。接続が成功したことを示すメッセージが表示され、ブラウザ拡張機能によってサーバーからブロードキャストされるメッセージの上にメッセージが表示されます。

概要

この記事では、ws モジュールを使用して Node.js に基づいて Websocket サービスを開発する方法を紹介しました。

Websocket が開発と拡張を続けるにつれて、Web 開発、特にチャット アプリケーションやオンライン ゲームなどのリアルタイム コミュニケーションにおいて、その重要性がますます高まっています。わずか数行のコードで、Node.js に簡単なチャット ルームを実装できるようになりました。

この記事では ws モジュールの機能の一部しか紹介しておりませんが、Node.js をベースにしたリアルタイム通信開発の知識を学び、一定のスキルと経験を身につけることができると思います。今後の作業に使用でき、学習の参考になります。

以上がwsを使用してnodejsを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。