Node.js 如何实现 WebSocket 通信?

阅读时长 3 分钟读完

什么是 WebSocket?

WebSocket 是一种网络协议,它可在客户端和服务器之间建立双向持久连接,实现了客户端和服务器之间的实时通信。它与 HTTP 协议一样都是基于 TCP 协议实现的。

相比之下,HTTP 协议是一种请求-响应模式的协议,客户端需要发送请求后,服务器才会响应数据。而 WebSocket 则可以在客户端和服务器建立连接后,实现双方随时互发数据,不需要像 HTTP 协议那样每次都需要发送请求。

在 Node.js 中,我们可以通过 ws 模块来实现 WebSocket 通信。请先确保已经安装了该模块:

接下来,我们来看一下如何实现 WebSocket 通信。

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

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

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

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

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

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

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

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

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

以上是一个简单的示例代码,服务端通过 WebSocket.Server 创建了一个 WebSocket 服务器,监听在 8080 端口上。当有客户端连接到服务器时,服务器会输出一条日志,并且可以接收客户端发送过来的数据。客户端通过 WebSocket 创建一个连接,连接到服务端并发送消息,同时也可以接收服务端发送过来的消息。

总结

WebSocket 是一种可实现双向持久连接的网络协议,在实现实时通信的场景下十分优秀。Node.js 中提供了 ws 模块可以方便地实现 WebSocket 通信,我们只需要简单几行代码就可以搭建起一个 WebSocket 服务器。它对于实时通信的需求非常适用,如果你需要实现即时聊天、在线游戏等功能,可以考虑使用 WebSocket 协议。

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

纠错
反馈