Express.js 中如何使用 WebSocket

Express.js 中如何使用 WebSocket

WebSocket 是一种在 Web 应用程序中实时双向通信的技术,使客户端和服务器能够在任一时刻交换消息,无需刷新页面。在 Express.js 中,我们可以使用 ws 模块来实现 WebSocket 的功能,并实现与客户端的双向通信。

  1. 安装并引入 ws 模块

ws 是一个第三方模块,需要通过 npm 安装并引入。在终端中使用以下命令安装 ws 模块:

在 Express.js 中引入 ws 模块:

  1. 在 Express.js 中创建 WebSocket 服务器

在 Express.js 中创建 WebSocket 服务器非常简单,只需要使用 ws 模块的 WebSocket.Server 类,代码如下:

在以上代码中,我们首先引入了 wsexpress 模块,并创建了一个 Express.js 服务器,并将其监听在 3000 端口上。然后我们创建了一个 WebSocket.Server 实例 wss,并传入 Express.js 服务器实例 server,创建了一个 WebSocket 服务器。

  1. 处理 WebSocket 连接

在创建了 WebSocket 服务器之后,我们需要为 WebSocket 服务器添加监听器,以处理客户端连接,代码如下:

在以上代码中,我们为 wss 添加了一个 connection 事件监听器,并在该事件中打印了连接成功的信息。

  1. 处理 WebSocket 客户端消息

在 WebSocket 客户端与服务器建立连接后,客户端可以将消息发送到服务器,并进行一些操作。我们可以通过添加 ws 实例的 message 事件监听器来处理客户端发送的消息,代码如下:

在以上代码中,我们为 ws 实例添加了一个 message 事件监听器,并在该事件中打印出接收到的消息。

  1. 向 WebSocket 客户端发送消息

除了从客户端接收消息外,WebSocket 服务器还可以向客户端发送消息。我们可以使用 ws 实例的 send 方法来向客户端发送消息,代码如下:

在以上代码中,我们在客户端连接建立后,向客户端发送了一条消息。

最后,我们可以将上述代码结合 Express.js 的路由功能,实现 WebSocket 服务器的完整使用示例,代码如下:

在以上示例中,我们为 Express.js 应用添加了静态文件目录,然后在创建 WebSocket 服务器时,为客户端建立连接,并向客户端发送了一条消息,然后处理了客户端发送过来的消息,并将其返回给客户端。

总结

本文介绍了如何在 Express.js 中使用 WebSocket,通过 ws 模块实现了 WebSocket 服务器与客户端之间的双向通信,并通过示例代码介绍了 WebSocket 服务器的完整使用过程,希望能够对大家有所帮助。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/653eb3057d4982a6eb81c501


纠错
反馈