JavaScript 中监听 Socket 状态通常是指使用 WebSocket API 来监测连接的状态。WebSocket 是一种网络通信协议,它允许在单个 TCP 连接上进行全双工通信,适用于实时性要求较高的应用场景。
WebSocket 对象提供了几个重要的属性和方法来监控其状态:
readyState
:表示 WebSocket 的当前连接状态,可能的值有:WebSocket.CONNECTING
(0):正在连接。WebSocket.OPEN
(1):连接成功,可以通信了。WebSocket.CLOSING
(2):连接正在关闭。WebSocket.CLOSED
(3):连接已经关闭或者不能打开。onopen
:当 WebSocket 连接成功时触发的事件处理器。onmessage
:当接收到服务器消息时触发的事件处理器。onerror
:当发生错误时触发的事件处理器。onclose
:当连接关闭时触发的事件处理器。// 创建一个新的 WebSocket 对象
const socket = new WebSocket('ws://example.com/socketserver');
// 监听连接打开事件
socket.onopen = function(event) {
console.log('WebSocket is open now.');
};
// 监听消息接收事件
socket.onmessage = function(event) {
console.log('Message from server:', event.data);
};
// 监听错误事件
socket.onerror = function(error) {
console.error('WebSocket error:', error);
};
// 监听连接关闭事件
socket.onclose = function(event) {
console.log('WebSocket is closed now.');
console.log('Close code:', event.code);
console.log('Close reason:', event.reason);
};
// 可以通过定时器定期检查 readyState 来监控状态
setInterval(() => {
console.log('WebSocket readyState:', socket.readyState);
}, 5000); // 每5秒打印一次状态
WebSocket 适用于需要实时双向通信的应用,如在线聊天、实时游戏、股票交易、新闻推送等。
onclose
事件中尝试重新连接。通过上述方法,可以有效地监控和维护 WebSocket 连接的状态,确保应用的稳定性和可靠性。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云