21xrx.com
2024-12-22 22:43:08 Sunday
登录
文章检索 我的文章 写文章
Nodejs使用ws库实现WebSocket通信
2023-07-05 08:17:55 深夜i     --     --
Nodejs ws库 WebSocket通信 实现 连接

WebSocket是一种全双工通信协议,它可以在客户端和服务器之间实现实时双向通信,使得客户端和服务器之间的交互更加高效和灵活。在Node.js中,我们可以利用ws库实现WebSocket通信。

ws是一个基于Node.js的WebSocket库,它提供了一组API来实现WebSocket通信,包括创建WebSocket服务器、向客户端发送消息、接收客户端消息等。下面是一个简单的示例代码,演示如何使用ws库创建WebSocket服务器:


const WebSocket = require('ws');

// 创建WebSocket服务器

const server = new WebSocket.Server({ port: 8080 });

// 服务器监听连接事件

server.on('connection', (socket) => {

 console.log('客户端已连接');

 // 接收客户端消息

 socket.on('message', (data) => {

  console.log('客户端发来消息:', data);

  // 向客户端发送响应

  socket.send(`服务器已收到您的消息:${data}`);

 });

 // 监听关闭事件

 socket.on('close', () => {

  console.log('客户端已断开连接');

 });

});

在上面的代码中,我们创建了一个WebSocket服务器,监听8080端口,当有客户端连接时,服务器会触发connection事件,我们可以在其中通过socket对象实现和客户端的通信。当客户端向服务器发送消息时,服务器会触发message事件,我们可以在其中获取到客户端发送的消息,并通过socket对象向客户端发送响应。

除了简单的文本消息,ws库还可以发送二进制数据、JSON对象等类型的消息。此外,ws库还支持使用WebSocket协议的各种扩展,如压缩、分片、控制帧等。

除了作为服务器,我们还可以在Node.js中使用ws库实现WebSocket客户端,通过连接远程WebSocket服务器来实现实时通信。除了ws库,Node.js还提供了其他WebSocket库,如Socket.IO、uWS等,用户可以根据自己的需求选择不同的库来实现WebSocket通信。

  
  

评论区

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