4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Webソケットって何?

Last updated at Posted at 2019-06-30

Webソケット 概要

Webソケットについて、勉強して概要を図で自分なりにまとめてみました。

スクリーンショット 2019-06-30 23.25.26.png

Webソケットとは、一般的にサーバー側とクライアント側を常時接続状態にしておいて双方向通信ができるようにする技術であり、チャットアプリや複数人が同時に遊べるゲームなど、リアルタイムに通信が行えることができます。

でもチャットシステムならWebソケットを使うといいと聞くけど、どうして何だろう?
それについての説明が次のスライドになります。

スクリーンショット 2019-06-30 23.23.56.png

例えば、チャットを作ろうとなった場合、上の図で言うと左側のユーザーがチャットしたら、リアルタイムで繋がっている各ユーザーにその内容を反映させなければなりません。

スクリーンショット 2019-06-30 23.24.15.png

もし、チャットシステムをWebソケットを使用しなかった場合、左側のユーザーとサーバー間のデータのやり取りは、従来の技術でいうAjaxを使用すれは実現できます。

スクリーンショット 2019-06-30 23.24.23.png

一方で、その他のユーザーにチャットの内容を反映したい場合は、cometという仕組みを用いれば、実現できます。

スクリーンショット 2019-06-30 23.24.33.png

以上のことから、従来の技術であるAjaxとCometを使用すれば、チャットサービスを作れなくはないのですが、、、通信の度にHTTPヘッダーが付与されるので、わずかであるが一定時間内にネットワーク常に転送されるデータ量が増えてしまい、結果通信速度が遅くなってしまいます。

そのため、リアルタイム性が求められるチャットシステムの場合、その問題がネックになります。

スクリーンショット 2019-06-30 23.24.44.png

Webソケットを使用すると、その問題が解消でき、上記スライドで書いてあることが実現できます。

だから、チャットシステムでWebソケットが使われのかと考えています。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?