PM2+WebSocket 构建实时聊天应用程序

阅读时长 5 分钟读完

在现代互联网应用程序中,实时聊天应用程序已经变得越来越普遍。WebSockets 技术已成为最流行的技术之一,用于构建实时聊天应用程序。PM2 是最流行的 Node.js 进程管理器之一,可以帮助将操作系统上的 Node.js 进程管理为守护进程。

在本文中,我们将学习如何使用 PM2 和 WebSocket 构建实时聊天应用程序。

准备工作

在开始之前,我们需要确保已经安装了 Node.js 和 npm。安装完成后,我们需要安装以下 npm 模块:

其中,pm2 是 Node.js 进程管理器,ws 是 WebSocket 库。

构建 WebSocket 服务器

首先,我们需要编写一个用于接收和处理 WebSocket 连接的服务器。以下是一个简单的 WebSocket 服务器实现:

-- -------------------- ---- -------
----- --------- - --------------

----- --- - --- ------------------ ----- ---- ---

-------------------- ---- -- -
  ------------------- ------------

  ---------------- --------- -- -
    --------------------- -------- -------------

    ---------------------------- -- -
      -- ------------------ --- --------------- -
        ---------------------
      -
    ---
  ---

  -------------- -- -- -
    ------------------- ---------------
  ---
---
展开代码

这个服务器代码创建了一个 WebSocket 服务器并监听 8080 端口上的连接。当有客户端连接到服务器时,它会将 "Client connected" 信息记录在控制台上。当客户端向服务器发送消息时,它会在控制台上记录 "Received message" 信息,并将消息发送回所有连接的客户端。

使用 PM2 启动 WebSocket 服务器

启动 WebSocket 服务器时,我们需要使用 PM2 将它转换为守护进程。以下是如何使用 PM2 启动服务器:

这将使用 PM2 启动 server.js 文件,并将其命名为 "websocket"。

构建 WebSocket 客户端

现在,我们需要编写一个简单的 WebSocket 客户端,它将连接到我们之前创建的 WebSocket 服务器。以下是客户端代码:

-- -------------------- ---- -------
----- --------- - --------------
----- -- - --- ---------------------------------

------------- -- -- -
  ---------------------- -- ---------
---

---------------- --------- -- -
  --------------------- -------- -------------
---

-------------- -- -
  -------------- ---- ----------
-- ------
展开代码

在上述代码中,我们创建了一个 WebSocket 连接并订阅 "open" 和 "message" 事件。当客户端成功连接到 WebSocket 服务器时,它会在控制台上记录 "Connected to server" 信息。当客户端收到来自服务器的消息时,它将在控制台上记录 "Received message" 信息。客户端还定期发送 "Hello from client!" 消息到服务器。

使用 PM2 启动 WebSocket 客户端

启动 WebSocket 客户端时,我们可以使用 PM2 将其转换为守护进程,类似于启动 WebSocket 服务器。

这个命令将使用 PM2 启动 client.js 文件,并将其命名为 "websocket-client"。

测试实时聊天应用程序

现在,我们已经成功地构建了 WebSocket 服务器和客户端。我们可以使用浏览器控制台连接到 WebSocket 服务器并发送消息,方法是在浏览器控制台上使用以下代码:

-- -------------------- ---- -------
----- -- - --- ---------------------------------

--------- - -- -- -
  ---------------------- -- ---------

  ------------ - ------- -- -
    --------------------- -------- ----------------
  --

  -------------- -- -
    -------------- ---- -----------
  -- ------
--
展开代码

这将创建一个 WebSocket 连接,并在连接成功后将 "Hello from browser!" 消息发送到服务器。我们可以在浏览器控制台上看到消息传回来的信息。

总结

在这篇文章中,我们学习了如何使用 PM2 和 WebSocket 构建实时聊天应用程序。我们编写了一个简单的 WebSocket 服务器和客户端,并使用 PM2 将它们转换为守护进程。这个实时聊天应用程序可以被扩展为更复杂的应用程序,在现代 Web 应用程序中极为常见。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65b78c0eadd4f0e0ff0183c0

纠错
反馈

纠错反馈