Node.js 中的 WebSocket 实现

阅读时长 4 分钟读完

WebSocket 是一种可以在 Web 应用程序中创建实时传输数据的技术,它通过一个持续的连接实现双向通信,能够实时地将数据从服务器推送到客户端。

在 Node.js 中,有很多种实现 WebSocket 的库,其中比较流行的是 ws 和 socket.io。本文将介绍如何使用 ws 库实现 WebSocket。

安装 ws

使用 npm 安装 ws 库:

WebSocket 服务器端代码

首先,我们创建一个 WebSocket 的服务器端代码,代码如下所示:

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

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

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

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

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

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

上面的代码创建了一个 WebSocket 的服务器端,监听 8080 端口。当客户端连接到服务器时,会输出 client connected,收到客户端发来的消息时,会输出 Received message => 和消息内容,然后将收到的消息原样返回客户端。当客户端断开连接时,会输出 client disconnected

WebSocket 客户端代码

接下来,我们创建一个 WebSocket 的客户端代码,代码如下所示:

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

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

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

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

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

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

上面的代码创建了一个 WebSocket 客户端,连接到服务器端口号为 8080 的服务器。连接成功后,会输出 connected to server,然后向服务器发送消息 Hello, server!。当收到服务器返回的消息时,会输出 Received message => 和消息内容。当客户端从服务器断开连接时,会输出 disconnected from server

测试运行

在命令行中运行服务器端代码:

然后,在另一个命令行窗口中运行客户端代码:

可以看到,客户端发送了一条消息到服务器端,然后服务器端原样返回了这条消息给客户端。客户端收到了服务器端返回的消息。

总结

本文介绍了如何使用 ws 库在 Node.js 中实现 WebSocket 的服务器端和客户端代码,并进行了简单的测试。WebSocket 是一种实时传输数据的技术,可以用来优化 Web 应用程序的体验。使用 ws 库,开发者可以轻松地实现 WebSocket 功能,并且这个库也有良好的文档和社区支持,非常适合在 Node.js 中使用。

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

纠错
反馈