ソケット通信とは?ざっくりと3行で
- インターネット上でプログラム同士をつなぐ「専用の電話回線」や「土管」を作る仕組みのことだよ!
- 一度つながると回線を開きっぱなしにできるから、リアルタイムで双方向にデータを送り合えるんだ。
- これのおかげで、チャットアプリやオンラインゲームで相手の動きがすぐに画面に反映されるよ。

【深掘り】これだけ知ってればOK!
Webサイトを見る時によく使われるHTTP通信は、「手紙」のようなものです。用件(リクエスト)を送って返事(レスポンス)が来たら、そこで関係は一旦終了します。
対してソケット通信は「電話」です。一度相手につながれば、電話を切るまでお互いに好きなタイミングで何度でも会話(データの送受信)を続けることができます。そのため、サーバー側から「新着メッセージが届いたよ!」と能動的に通知を送ることが可能になります。
会話での使われ方

このチャット機能、リアルタイム性を重視したいからHTTPじゃなくてソケット通信(WebSocket)で実装しよう。




ソケットがつながらない原因、ファイアウォールでポートが閉じられているからでした。




サーバーへの負荷が高いから、ソケットの接続維持(キープアライブ)の設定を見直して。
【まとめ】3つのポイント
- 糸電話の糸:もしもし、と呼びかけてつながった後は、糸(回線)を通じていつでも声を届けられる状態。
- 即時性の確保:いちいち接続し直す手間がないため、情報の遅延(ラグ)を最小限に抑えることができる。
- 双方向のやり取り:クライアントから聞くだけでなく、サーバーから勝手に情報を送りつけることも可能になる。
よくある質問
- Qソケット通信はいつ使うのがベストですか?
- ALINEのようなチャットアプリ、FPSなどのオンラインゲーム、株価のリアルタイム表示など、情報の鮮度が命のシステムを作る時に必須となります。
- Qソケット通信を失敗させないコツはありますか?
- A「切断」への対策です。通信は必ず切れるものと考え、切れたことの検知と、切れた後の復帰手順(再送処理など)を丁寧に設計することが重要です。
- Qソケット通信の具体例は何ですか?
- Aビデオ会議システム(Zoom等)、IoT機器(スマート家電)の遠隔操作、スポーツ試合の速報通知システムなどが挙げられます。
- Qソケット通信とHTTP通信との違いは何ですか?
- AHTTPは「一問一答」形式で、用が済んだら切れます(Web閲覧向き)。ソケット通信は「常時接続」形式で、つながりっぱなしです(リアルタイムアプリ向き)。



コメント