📅  最后修改于: 2023-12-03 15:05:55.584000             🧑  作者: Mango
WebSockets 是在 Web 应用程序中用于实时双向通信的一种协议。WebSockets 通过一个单一的 TCP 连接提供全双工通信信道,允许服务器将信息推送到客户端,而无需客户端请求。与 HTTP 不同,WebSockets 不使用轮询方式进行通信,这使得它更加高效和实时。
在本文中,我们将讨论 WebSockets 如何在服务器端工作,并着重介绍在 JavaScript 中实现 WebSocket 服务器的方法。
一个 WebSocket 服务器需要实现下列步骤:
以下是使用 Node.js 和 ws
模块创建 WebSocket 服务器的示例代码:
const WebSocket = require('ws');
const server = new WebSocket.Server({ port: 8080 });
server.on('connection', (socket) => {
// 连接成功后的逻辑
console.log('成功连接到 WebSocket 服务器!');
// 处理握手
socket.on('message', (message) => {
console.log(`接收到消息: ${message}`);
// 向客户端发送消息
socket.send('服务器已接收到您的消息!');
});
// 关闭连接
socket.on('close', () => {
console.log('连接已关闭!');
});
});
这段代码包含了一个 HTTP 服务器和一个 WebSocket 服务器。HTTP 服务器监听 8080
端口,并将请求转发给 WebSocket 服务器。WebSocket 服务器监听传入连接,处理握手并回复客户端,接受和处理来自客户端的消息,并向客户端发送消息,最后关闭连接。
WebSocket 服务器允许服务器和客户端之间进行实时双向通信,以实现更高效和实时的网络通信方案。使用 Node.js 和 ws
模块可以快速地创建一个 WebSocket 服务器。