在 Deno 中使用 WebSocket 进行双向通信

什么是 WebSocket

WebSocket 是一种双向通信协议。它使得浏览器和服务器之间可以持久地保持双向通信的连接,而不需要一直发送请求来获取新数据。WebSocket 可以大大提高实时性和效率。

Deno 是什么

Deno 是一个运行 JavaScript 和 TypeScript 程序的平台。它的设计目标是安全、高效和简化开发。

Deno 的最大特点就是它不依赖于 npm,所以可以避免 npm 的一些问题(例如版本冲突、减少安装包大小等)。同时,Deno 默认启用了强制权限控制,因此可以更好地保护您的计算机。

如何在 Deno 中使用 WebSocket

在 Deno 中使用 WebSocket 模块非常容易。我们只需要导入 WebSocket 模块,并创建 WebSocket 实例即可。

让我们来看看一个示例:

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

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

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

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

上面的代码启动了一个 HTTP 服务器,等待客户端连接,一旦有连接,就会创建一个 WebSocket 实例,并监听客户端发送的数据、并发送数据。

要使用 WebSocket,我们需要导入 serveacceptWebSocket 函数。serve 函数可以创建一个 HTTP 服务器,可以监听请求,而 acceptWebSocket 函数可以创建一个 WebSocket 实例,可以监听客户端发送的数据。

在上面的代码中,我们使用 for-await-of 循环来监听客户端的数据。一旦客户端发送消息,我们就会在控制台中显示消息,并将该消息发送回客户端。

结论

在 Deno 中使用 WebSocket 进行双向通信非常容易。我们只需要导入 WebSocket 模块,并创建 WebSocket 实例即可。这种方式可以极大地提高实时性和效率。

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