代码示例
// 前端代码
const socket = new WebSocket('ws://localhost:3000');
socket.onopen = () => {
console.log('WebSocket连接已建立');
};
socket.onmessage = (event) => {
console.log('收到消息:', event.data);
};
socket.onerror = (error) => {
console.error('WebSocket连接发生错误:', error);
};
socket.onclose = () => {
console.log('WebSocket连接已关闭');
};
// 后端代码(Node.js示例)
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 3000 });
wss.on('connection', (ws) => {
console.log('客户端已连接');
ws.on('message', (message) => {
console.log(`收到消息: ${message}`);
// 处理收到的消息,并向客户端发送响应
ws.send('服务器收到消息: ' + message);
});
ws.on('close', () => {
console.log('客户端已断开连接');
});
});实时通信流程
- 客户端通过WebSocket与后端建立连接。
- 后端使用WebSocket模块创建一个WebSocket服务器,并监听指定的端口。
- 当客户端与后端成功建立连接时,会触发
onopen事件,表示WebSocket连接已建立。 - 客户端可以通过
send()方法向后端发送消息,后端可以通过send()方法向客户端发送消息。 - 当客户端接收到来自后端的消息时,会触发
onmessage事件,客户端可以处理这些消息。 - 当有任何错误发生时,会触发
onerror事件。 - 当客户端或后段关闭了连接时,会触发
onclose事件。
通过以上实时通信流程,我们可以使用WebSocket实现前后段之间的实时通信。