プログラミング

WebSocket を使ったサンプルプログラムを作りました

投稿日:2017年7月18日 更新日:

1. はじめに

WebSocket を使ったサンプルページを作りました。Node.js を使っています。

ソースコードは以下に置いてあります。

この中の、src/ws-server.js が本体です。

2. スクリーンショット

3. 動作

やっていることを簡単に説明します。

  1. Node.js に組み込まれている httpモジュールを使って、Webサーバー(ポート番号は8080)を作成します。
  2. websockets/ws を使って、WebSocketサーバー(ポート番号は8081)を作成します。
  3. Webサーバーを開始します。
  4. Webブラウザで、http://localhost:8080 にアクセスします。
  5. テキストフィールドに何か入力して、「WebSocketサーバーに送る」ボタンをクリックします。
  6. WebSocket サーバーは、クライアントからメッセージを受け取ったら、「次のメッセージを受け取りました: {受け取ったメッセージ}」という文字列をクライアントに返してきます。
  7. Webブラウザでは WebSocketサーバーが送ってきたメッセージを、「サーバーからのメッセージ」の下に表示していきます。

※ WebSocketの通信は継続されたままになっています。

4. 大まかな動作イメージ

図.動作イメージ

Webブラウザは、まず Webサーバにアクセスします。
それから、画面上のボタンを押すことによって、WebSocketサーバに文字列を伝達します。
WebSocketサーバーから返事がきます。このやり取りは、WebSocket通信をつないだまま何度も行うことができます。

もう少し細かい図も書きました。こちらでは、ソースコードも交えて説明しています。

📂-プログラミング

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

web development

Web Development for Beginners を読む:レッスン15, 16, 17

目次1. はじめに2. Part1: イントロダクション「継承」と「コンポジション」Pub/Sub パターン3. Part 2: canvas にヒーローとモンスターを描く4. Part 3: 動きを …

web development

Layout Instability API を使ってレイアウト・シフトを検出する

目次1. Layout Instability API について2. サンプルコード3. インターフェイス情報PerformanceObserver interfaceLayoutShift inte …

フレームレートを指定して Canvas に描画するサンプルページを作りました

フレームレートを指定して Canvas に描画するサンプルページを作りました。 目次1. スクリーンショット2. デモ3. 説明4. ソースコード 1. スクリーンショット スクリーンショット 2. …

React Redux

React + Redux の最小限の雛形コード

この記事に載せている JavaScriptのコードは、React + Redux を使っています。 但し、まだ何も意味のある処理を書いていないので、このままだと 属性 id=”root” を持った要素 …

Web Components

Web Components: カスタム属性の利用方法

Web Components を使ってカスタム要素を作成し、そのタグを記述する際に、独自の属性を利用する方法について説明します。