如何在 Express.js 应用程序中使用 WebSocket

什么是 WebSocket

WebSocket 是一种基于网络套接字的 TCP 协议扩展,用于实现双向通信。它能够在浏览器和服务器之间创建持久的连接,并在两者之间传递数据。相对于传统的 HTTP 协议,WebSocket 的优点在于它可以实现实时数据的传输。

在 Express.js 中使用 WebSocket

WebSocket 这种双向通信协议在当今的 Web 开发中普遍应用,因此,Express.js 提供了一个简单且易于使用的 WebSocket 库:ws。我们可以使用这个库来在 Express.js 应用程序中实现 WebSocket。

首先,我们需要安装 ws 库,你可以通过 npm 安装它:

接下来,在 Express.js 应用程序中,我们需要创建一个 WebSocket 服务器来处理 WebSocket 连接。这可以通过以下代码实现:

这段代码做了以下几件事情:

  1. 创建一个 Express.js 应用程序。
  2. 创建一个 HTTP 服务器。
  3. 创建一个 WebSocket 服务器,并将它绑定到 HTTP 服务器上。
  4. 监听 WebSocket 连接的建立,收到消息和断开三个事件。

现在我们已经创建了一个 WebSocket 服务器,但是我们还没有任何客户端连接到它。下面的代码演示了如何在客户端上创建 WebSocket 连接:

这段代码做了以下几件事情:

  1. 创建一个 WebSocket 对象,指定连接的地址。
  2. 监听 WebSocket 连接建立、消息收到和断开三个事件。
  3. 在连接建立后向服务器发送一条消息。
  4. 在接收到服务器发送的消息时打印到控制台。
  5. 在连接关闭后打印一条日志。

总结

本文演示了如何在 Express.js 应用程序中使用 WebSocket。我们使用 ws 库创建一个 WebSocket 服务器,处理连接建立、消息收到和断开三个事件。然后我们在客户端上创建了一个 WebSocket 连接,并向服务器发送一条消息,并在收到服务器发送回来的消息时打印到控制台。这些示例代码可以作为学习 WebSocket 的参考,并可以在实际的应用程序中使用。

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


纠错
反馈