WebSocket readyState状态码
时间: 2025-04-20 15:36:45 浏览: 14
### WebSocket `readyState` 状态码详解
WebSocket 对象的 `readyState` 属性返回实例对象的当前状态,共有四种可能的状态值:
- **CONNECTING**:数值为 0,表明连接尚未建立,正在进行握手阶段[^5]。
- **OPEN**:数值为 1,意味着连接已成功建立并可正常传输数据。此时客户端和服务端能够相互发送消息。
- **CLOSING**:数值为 2,指示连接正处于关闭过程中。此状态下不会再接收新的消息,但可能会等待现有消息完成传送后再完全断开。
- **CLOSED**:数值为 3,说明连接已被彻底关闭或是尝试打开连接失败。任何进一步的消息传递都将被阻止直到重新建立新连接为止。
下面是一个简单的 JavaScript 示例来展示如何根据不同的 `readyState` 执行相应操作:
```javascript
const ws = new WebSocket('wss://example.com/socket');
switch (ws.readyState) {
case WebSocket.CONNECTING:
console.log("正在连接...");
break;
case WebSocket.OPEN:
console.log("连接成功!");
// 发送一些初始化的数据给服务端...
break;
case WebSocket.CLOSING:
console.log("连接即将关闭...");
break;
case WebSocket.CLOSED:
console.log("连接已关闭");
// 处理重连逻辑或其他清理工作...
break;
}
```
通过监听这些状态变化,开发者可以在适当的时候执行特定的任务,比如当连接变为 OPEN 后立即向服务器发送一条欢迎信息;或者在 CLOSING 或 CLOSED 状态时启动自动重试机制等。
阅读全文
相关推荐


















