写一个websocket的代码
时间: 2024-03-17 07:44:31 浏览: 65
好的,我可以给你一个简单的 WebSocket 示例代码,使用 Node.js 和 ws 库实现。该示例代码可以实现简单的一对一聊天功能,包括客户端和服务器端的代码。
服务器端代码:
```
const WebSocket = require('ws');
// 创建 WebSocket 服务器
const wss = new WebSocket.Server({ port: 8080 });
// 保存所有客户端连接
const clients = new Set();
// 处理连接请求
wss.on('connection', function connection(ws) {
console.log('New client connected');
// 添加客户端到连接列表
clients.add(ws);
// 处理消息
ws.on('message', function incoming(message) {
console.log('Received message:', message);
// 将消息转发给其他客户端
clients.forEach(function (client) {
if (client !== ws && client.readyState === WebSocket.OPEN) {
client.send(message);
}
});
});
// 处理关闭连接事件
ws.on('close', function close() {
console.log('Client disconnected');
// 从连接列表中移除客户端
clients.delete(ws);
});
});
```
客户端代码:
```
const WebSocket = require('ws');
// 连接 WebSocket 服务器
const ws = new WebSocket('ws://localhost:8080');
// 处理连接成功事件
ws.on('open', function open() {
console.log('Connected to server');
// 发送消息
ws.send('Hello, server!');
});
// 处理消息
ws.on('message', function incoming(message) {
console.log('Received message:', message);
});
// 处理关闭连接事件
ws.on('close', function close() {
console.log('Disconnected from server');
});
```
以上代码实现了一个简单的 WebSocket 服务器和客户端,可以实现一对一聊天功能。需要注意的是,这只是一个简单的示例,实际应用中需要进行更多的错误处理和安全性检查。
阅读全文