WebSocket使用
时间: 2023-10-23 08:14:28 浏览: 82
WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它允许客户端和服务器之间进行实时通信。
在使用 WebSocket 时,客户端会发送一个 HTTP 请求到服务器,请求中包含了一个 Upgrade 头部,表示客户端希望将连接升级为 WebSocket 连接。如果服务器同意升级,那么客户端和服务器之间的连接就会从 HTTP 连接转换为 WebSocket 连接。
以下是一个使用 WebSocket 的简单示例:
1. 客户端代码
```javascript
// 创建 WebSocket 对象,指定服务器地址
const ws = new WebSocket('ws://localhost:8080');
// 在连接建立后,发送一条消息给服务器
ws.onopen = () => {
ws.send('Hello, server!');
};
// 处理从服务器收到的消息
ws.onmessage = event => {
console.log(`Received message: ${event.data}`);
};
// 处理连接关闭事件
ws.onclose = () => {
console.log('Connection closed');
};
```
2. 服务器端代码(使用 Node.js 和 `ws` 模块)
```javascript
const WebSocket = require('ws');
const server = new WebSocket.Server({ port: 8080 });
server.on('connection', ws => {
console.log('Client connected');
// 处理从客户端收到的消息
ws.on('message', message => {
console.log(`Received message: ${message}`);
// 向客户端发送一条消息
ws.send('Hello, client!');
});
// 处理连接关闭事件
ws.on('close', () => {
console.log('Client disconnected');
});
});
```
以上示例中,客户端和服务器之间建立了一个 WebSocket 连接,并通过 `send()` 方法和 `message` 事件进行消息的发送和接收。在连接关闭时,会触发 `close` 事件。
阅读全文