どさんこウェブ

自分で調べた技術ネタの備忘録的な感じで徒然とブログを書いていこうかな

WebSocketの再勉強

はじめに

WebSocketって具体的になんだっけ?とふと思ったので、改めて勉強してみる。

WebSocket

  • Webにおいて双方向通信を低コストで実現する
  • チャットアプリのように AB にメッセージを投稿して通知する時に利用されたりする
  • WebSocket登場以前はHTTPしか通信手段がなく、ロングポーリングを使って無理矢理に双方向通信を実現していた
  • ロングポーリングは無駄が多いし効率良い通信がいいよね、という背景からWebSocketが作られた感じ

実装してみた

Go言語の勉強も兼ねて、Qiitaで見つけた以下のプログラムを写経してみた。

Golang with WebSocket(Chat)

写経後、実際に動作を確認してみて大まかな処理は以下の通りだった。

  1. クライアント - サーバー間で接続を確立する
  2. クライアントからサーバーに対してメッセージを送信する
  3. サーバー内で受け取ったメッセージを処理し、接続中の全てクライアントに対して送信する
  4. クライアント側でメッセージを画面に表示する

おわりに

ざっくり概要を把握しながら、作ってみて理解することは改めて大事だなと再認識できた。
今後の仕事で役に立つといいな。

参考サイト

今回も参考にさせていただいたサイトは以下の通り。
先人達の知恵に感謝