详细讲解node的ws中服务端的websocket.server的各种api

WebSocket是一种在单个TCP连接上进行全双工通信的协议。Node.js中的ws模块提供了WebSocket的实现,使得Node.js可以轻松地创建WebSocket服务器和客户端。

在ws模块中,WebSocket服务器由WebSocket.Server类实现。WebSocket.Server提供了一系列的API,用于管理WebSocket连接、发送消息等操作。本文将详细讲解WebSocket.Server的各种API。

1. WebSocket.Server的创建

在使用WebSocket.Server之前,需要先创建一个WebSocket服务器。创建WebSocket.Server的方式如下:

const WebSocket = require('ws');
const wss = new WebSocket.Server({
    port: 8080 });

上述代码中,首先引入了ws模块,然后通过new关键字创建了一个WebSocket.Server实例。在创建WebSocket.Server时,需要传递一个配置对象,其中port属性指定WebSocket服务器监听的端口号。

2. WebSocket.Server的事件

WebSocket.Server提供了一系列的事件,用于监听WebSocket连接的建立、关闭等事件。以下是WebSocket.Server的常用事件:

  • connection:当有新的WebSocket连接建立时触发该事件。
  • error:当WebSocket服务器发生错误时触发该事件。
  • close:当WebSocket服务器关闭时触发该事件。

示例代码如下:

wss.on('connection', function connection(ws) {
   
  console.log('new connection');
  ws.on('message', function incoming(data) {
   
    console.log(`received message: ${
     data}`);
  });
  ws.on('close', function close() {
   
    console.log('disconnected');
  });
});

上述代码中,使用了wss.on()方法监听了connection事件。当有新的WebSocket连接建立时,会触发该事件,并传递一个WebSocket实例ws作为参数。在连接建立后,可以通过ws.on()方法监听message和close事件,以处理WebSocket连接收到消息和关闭的情况。

3. WebSocket.Server的方法

WebSocket.Server提供了一系列的方法,用于管理WebSocket连接、发送消息等操作。以下是WebSocket.Server的常用方法:

  • clients:获取当前WebSocket服务器中所有的WebSocket连接。
  • broadcast:向所有WebSocket连接发送消息。
  • close:关闭WebSocket服务器。

示例代码如下:

// 获取所有WebSocket连接
const clients = wss.clients;

// 向所有WebSocket连接发送消息
wss.broadcast = function broadcast(data) {
   
  clients.forEach(function each(client) {
   
    if (client.readyState === WebSocket.OPEN) {
   
      client.send(data);
    }
  });
};

// 关闭WebSocket服务器
wss.close();

上述代码中,首先通过wss.clients获取了当前WebSocket服务器中所有的WebSocket连接。然后通过定义wss.broadcast方法,实现向所有WebSocket连接发送消息的功能。最后通过wss.close方法关闭WebSocket服务器。

4. WebSocket实例的属性和方法

WebSocket.Server返回的是WebSocket实例,WebSocket实例也提供了一些属性和方法,用于管理WebSocket连接、发送消息等操作。以下是WebSocket实例的常用属性和方法:

  • readyState:WebSocket连接的状态。常用值包括CONNECTING、OPEN、CLOSING和CLOSED。
  • send:向WebSocket连接发送消息。
  • close:关闭WebSocket连接。

示例代码如下:

ws.send('hello');
ws.close();

上述代码中,通过ws.send方法向WebSocket连接发送消息。通过ws.close方法关闭WebSocket连接。

相关推荐

  1. 详细讲解nodews服务websocket.server各种api

    2023-12-27 01:34:02       36 阅读
  2. TCP Socket API 讲解,以及回显服务器客户实现

    2023-12-27 01:34:02       24 阅读
  3. Node.jsnpmwsWebSocket协议实现

    2023-12-27 01:34:02       41 阅读
  4. springbootredis配置详细讲解

    2023-12-27 01:34:02       30 阅读
  5. node.jsfs模块,读写语法讲解

    2023-12-27 01:34:02       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-27 01:34:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-27 01:34:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-27 01:34:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-27 01:34:02       18 阅读

热门阅读

  1. 设计模式之工厂模式

    2023-12-27 01:34:02       38 阅读
  2. PHP函数学习总结

    2023-12-27 01:34:02       49 阅读
  3. 鸿蒙 - arkTs:网络请求封装和使用

    2023-12-27 01:34:02       45 阅读
  4. 使用api-spec-converter将openapi3转为swagger2

    2023-12-27 01:34:02       36 阅读
  5. 记第一个单元测试项目

    2023-12-27 01:34:02       39 阅读
  6. 使用FFmpeg进行录屏

    2023-12-27 01:34:02       41 阅读
  7. unity实时保存物体的坐标信息txt

    2023-12-27 01:34:02       45 阅读
  8. Git配置和钩子使用

    2023-12-27 01:34:02       42 阅读
  9. 面试心得总结ing版

    2023-12-27 01:34:02       41 阅读