在现代互联网应用程序中,实时聊天应用程序已经变得越来越普遍。WebSockets 技术已成为最流行的技术之一,用于构建实时聊天应用程序。PM2 是最流行的 Node.js 进程管理器之一,可以帮助将操作系统上的 Node.js 进程管理为守护进程。
在本文中,我们将学习如何使用 PM2 和 WebSocket 构建实时聊天应用程序。
准备工作
在开始之前,我们需要确保已经安装了 Node.js 和 npm。安装完成后,我们需要安装以下 npm 模块:
npm install pm2 ws
其中,pm2
是 Node.js 进程管理器,ws
是 WebSocket 库。
构建 WebSocket 服务器
首先,我们需要编写一个用于接收和处理 WebSocket 连接的服务器。以下是一个简单的 WebSocket 服务器实现:
-- -------------------- ---- ------- ----- --------- - -------------- ----- --- - --- ------------------ ----- ---- --- -------------------- ---- -- - ------------------- ------------ ---------------- --------- -- - --------------------- -------- ------------- ---------------------------- -- - -- ------------------ --- --------------- - --------------------- - --- --- -------------- -- -- - ------------------- --------------- --- ---展开代码
这个服务器代码创建了一个 WebSocket 服务器并监听 8080 端口上的连接。当有客户端连接到服务器时,它会将 "Client connected" 信息记录在控制台上。当客户端向服务器发送消息时,它会在控制台上记录 "Received message" 信息,并将消息发送回所有连接的客户端。
使用 PM2 启动 WebSocket 服务器
启动 WebSocket 服务器时,我们需要使用 PM2 将它转换为守护进程。以下是如何使用 PM2 启动服务器:
pm2 start server.js --name=websocket
这将使用 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 start client.js --name=websocket-client
这个命令将使用 PM2 启动 client.js
文件,并将其命名为 "websocket-client"。
测试实时聊天应用程序
现在,我们已经成功地构建了 WebSocket 服务器和客户端。我们可以使用浏览器控制台连接到 WebSocket 服务器并发送消息,方法是在浏览器控制台上使用以下代码:
-- -------------------- ---- ------- ----- -- - --- --------------------------------- --------- - -- -- - ---------------------- -- --------- ------------ - ------- -- - --------------------- -------- ---------------- -- -------------- -- - -------------- ---- ----------- -- ------ --展开代码
这将创建一个 WebSocket 连接,并在连接成功后将 "Hello from browser!" 消息发送到服务器。我们可以在浏览器控制台上看到消息传回来的信息。
总结
在这篇文章中,我们学习了如何使用 PM2 和 WebSocket 构建实时聊天应用程序。我们编写了一个简单的 WebSocket 服务器和客户端,并使用 PM2 将它们转换为守护进程。这个实时聊天应用程序可以被扩展为更复杂的应用程序,在现代 Web 应用程序中极为常见。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65b78c0eadd4f0e0ff0183c0