21xrx.com
2024-12-23 00:15:05 Monday
登录
文章检索 我的文章 写文章
使用 Node.js 实现 WebSocket 通信协议
2023-06-27 13:02:07 深夜i     --     --
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 通信协议非常容易。它提供了一种快速、可靠且轻量级的协议,在实时数据传输的场景下非常有用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复