Node.js 实现跨域 WebSocket 访问示例
Node.js 实现跨域 WebSocket 访问示例
本文将提供一个完整的 Node.js WebSocket 服务器和客户端代码示例,演示如何实现跨域 WebSocket 访问,并包含客户端接收消息的示例。
服务端代码
const WebSocket = require('ws');
const server = new WebSocket.Server({ port: 8080 });
server.on('connection', (socket) => {
console.log('Client connected');
socket.on('message', (message) => {
console.log(`Received message: ${message}`);
// Echo the message back to the client
socket.send(`You said: ${message}`);
});
socket.on('close', () => {
console.log('Client disconnected');
});
});
console.log('WebSocket server started');
客户端代码
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>WebSocket client</title>
</head>
<body>
<script>
const socket = new WebSocket('ws://localhost:8080');
socket.addEventListener('open', (event) => {
console.log('Connected to WebSocket server');
// Send a message to the server
socket.send('Hello, server!');
});
socket.addEventListener('message', (event) => {
console.log(`Received message: ${event.data}`);
});
socket.addEventListener('close', (event) => {
console.log('Disconnected from WebSocket server');
});
</script>
</body>
</html>
注意: 上述代码示例中,客户端和服务器运行在同一个域名下。如果需要跨域访问,需要在服务器端配置 CORS 允许来自特定域名的请求。
原文地址: https://www.cveoy.top/t/topic/mC7P 著作权归作者所有。请勿转载和采集!