websokect js实现
WebSocket 的 JavaScript 实现
WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。以下是使用 JavaScript 实现 WebSocket 的基本方法。
创建 WebSocket 连接
通过 WebSocket 构造函数可以创建一个 WebSocket 连接。需要传入 WebSocket 服务器的 URL。
const socket = new WebSocket('ws://example.com/socket');
监听连接事件
WebSocket 对象提供了多个事件,可以通过监听这些事件来处理连接的不同状态。

socket.onopen = function(event) {
console.log('连接已建立');
};
socket.onmessage = function(event) {
console.log('收到消息:', event.data);
};
socket.onerror = function(error) {
console.error('发生错误:', error);
};
socket.onclose = function(event) {
console.log('连接已关闭');
};
发送数据
通过 send 方法可以向服务器发送数据。数据可以是字符串、Blob 或 ArrayBuffer。
socket.send('Hello, WebSocket!');
const blob = new Blob(['Blob Data']);
socket.send(blob);
const buffer = new ArrayBuffer(8);
socket.send(buffer);
关闭连接
使用 close 方法可以主动关闭 WebSocket 连接。可以传入状态码和关闭原因。

socket.close(1000, 'Normal closure');
完整示例
以下是一个完整的 WebSocket 客户端实现示例。
const socket = new WebSocket('ws://example.com/socket');
socket.onopen = function() {
console.log('连接已建立');
socket.send('Hello, Server!');
};
socket.onmessage = function(event) {
console.log('收到消息:', event.data);
};
socket.onerror = function(error) {
console.error('发生错误:', error);
};
socket.onclose = function() {
console.log('连接已关闭');
};
注意事项
- WebSocket URL 需要使用
ws://或wss://协议。 - 确保服务器支持 WebSocket 协议。
- 处理连接断开和错误情况,以提高用户体验。
安全性
使用 wss:// 协议可以加密 WebSocket 通信,防止中间人攻击。确保服务器配置了有效的 SSL 证书。
const secureSocket = new WebSocket('wss://example.com/socket');
兼容性
现代浏览器均支持 WebSocket API。如果需要支持旧版浏览器,可以使用如 Socket.IO 等库提供兼容方案。






