WebSocket
GPT-5.iconクライアント視点
code:zsh
+--------------------+
| |
| CONNECTING (0) | ← new WebSocket(url) 直後
| |
+---------+----------+
|
| 接続成功
v
+--------------------+
| |
+------>| OPEN (1) |<------+
| | (通信可能な状態) | |
| +--------------------+ |
| | |
| | close() 呼ぶ | サーバーから
| v | close frame受信
| +--------------------+ |
| | | |
+-------| CLOSING (2) |-------+
| (切断交渉中) |
+---------+----------+
|
| 交渉完了
v
+--------------------+
| |
| CLOSED (3) |
| (完全に切断済み) |
+--------------------+
CONNECTING(0): TCP接続とハンドシェイク中。まだ通信できない。
OPEN(1): 通信可能。send() でデータを送れる。
CLOSING(2): close()を呼んだ、またはサーバーから閉じる通知を受けた。まだ完全には切れてない。
CLOSED(3): 完全に切断済み。以後は再利用できない。
Claude Sonnet 4.icon
close()を呼ぶと:
WebSocketのreadyStateがCLOSING(2)になる
サーバーとの接続が切断される
oncloseイベントが発火
readyStateがCLOSED(3)になる