プログラミング

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 を読む:レッスン6と7

目次1. はじめに2. Lesson 6: JavaScript Basics: Making DecisionsA Brief Recap on Booleans(ブール値の簡単な要約)Compar …

web development

Web Development for Beginners を読む:レッスン4と5

目次1. はじめに2. Lesson 4: JavaScript Basics: Data TypesVariables(変数)Constants(定数)Data Types3. Lesson 5: …

web development

User Timing API を使って、特定の処理に掛かった時間を計測する

目次1. User Timing API について2. サンプルコード3. デモページ4. 参考仕様MDNブラウザの対応状況 1. User Timing API について User Timing L …

MySQL

MySQL に新たにデータベースと専用ユーザを追加するSQLステートメント

目次1. 本ページに記載する SQLステートメントを使用するシチュエーション2. 前提3. SQLステートメント1. データベースの作成2. ユーザーの作成3. このユーザーに、先ほど作成したデータベ …

Web Programming

以前作っていた静的サイトの開発に関するメモ

以前、静的なツールでウェブサイトを作っていたのですが、その開発に関するメモです。完全にメモであることをご了承下さい。 目次方針使用しているツール新たなページを作成する時の大まかな流れ1. 新たなページ …