WebSocketとは

双方向通信プロトコル.

URLスキーマとして, ws:// or wss://(暗号化)が利用される.

Socket.IO

双方向低レイテンシーな通信.

https://socket.io/

websocketをbaseにして改良した通信プロトコル.

  • fallback to HTTP long-polling
  • automatic reconnection

websockt=socket.ioではない.

利用にはクライアントライブラリが必要であり, 各種言語で実装がある.

https://socket.io/docs/v4/

Websocket Topics

Websocket = 非同期通信?

Websocketとは双方向の通信プロトコルであるが, 非同期通信の機能を提供しているわけではない. しかしリアルタイムの要件を満たすために, よく非同期通信(or Thread)の概念とセットで利用される.

ref. 📝非同期通信

そして, 各言語実装のWebsocketライブラリがThreadの面倒をみているものも多く, ライブラリの仕組みとして組み込まれているものがある. なのでライブラリを利用する側からすると一緒のようなものに見える.

CPU使用率100%でWebSocket切断?

経験則なのであとで調べてみる.

🔗References