21xrx.com
2025-03-30 02:30:56 Sunday
文章检索 我的文章 写文章
使用 Node.js 实现 WebSocket 通信协议
2023-06-27 13:02:07 深夜i     13     0
Node js WebSocket 通信协议 实现

WebSocket 通信协议是一种全双工的网络通信协议,它允许服务器和客户端之间全双工通信,而且不需要经过 HTTP 的请求/响应周期,从而可以更快速地实现实时数据的传输。

Node.js 是一个基于 Google V8 引擎的 JavaScript 运行时,它可以在服务器端运行 JavaScript 代码。使用 Node.js 实现 WebSocket 通信协议非常简单,我们可以使用 Node.js 提供的 ws 模块来实现。

首先,我们需要安装 ws 模块,在命令行中输入以下命令:

npm install ws

接着,我们可以编写下面的代码:

const WebSocket = require('ws');
const server = new WebSocket.Server({ port: 8080 });
server.on('connection', function connection(ws) {
 console.log('Client connected');
 ws.on('message', function incoming(data) {
  console.log(`Received message: ${data}`);
 });
 ws.send('Hello from server!');
});

这段代码可以创建一个 WebSocket 服务器,监听 8080 端口。当有客户端连接到服务器时,服务端会输出 "Client connected",并且可以接收客户端发送的消息。在此例中,我们简单地接收客户端发送的消息并在控制台输出。

最后,服务端会向客户端发送一条消息:"Hello from server!"。你可以在客户端使用下面的代码来连接 WebSocket 服务器,并接收从服务端发送过来的消息:

const WebSocket = require('ws');
const ws = new WebSocket('ws://localhost:8080');
ws.on('open', function open() {
 console.log('Connected to server');
 ws.send('Hello from client!');
});
ws.on('message', function incoming(data) {
 console.log(`Received message: ${data}`);
});

在客户端代码中,我们使用 WebSocket 构造函数连接到服务器,并且在连接成功后发送一条消息:"Hello from client!"。当客户端接收到来自服务器的消息时,它将消息输出到控制台。

通过这个简单的例子,你可以看到使用 Node.js 实现 WebSocket 通信协议非常容易。它提供了一种快速、可靠且轻量级的协议,在实时数据传输的场景下非常有用。

  
  

评论区

请求出错了