如何利用 Deno 实现 Websocket 服务端

Websocket 技术使得客户端和服务端之间的双向通信变得更加容易,同时也为实现实时通信和推送提供了强有力的支持。本文将介绍如何利用 Deno 实现 Websocket 服务端,它是一种 Typescript 的运行时,具有内置的模块管理器和类型系统支持。我们将在本文中详细展示如何轻松地使用 Deno 构建 Websocket 服务端,包括从安装到实现的全部过程。

Deno 简介

Deno 是一种新兴的 Typescript 运行时,它是由 Node.js 的创始人 Ryan Dahl 在 2018 年推出的。与 Node.js 不同的是,Deno 具有内置的模块管理器,支持延迟加载模块,同时还具有 Typescript 的内置支持和安全的默认设置。

安装 Deno 的命令如下:

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

为了验证 Deno 是否已经成功安装,可以使用以下命令进行检查:

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

如果输出的版本号正确,则说明 Deno 已经成功安装。

构建 Websocket 服务端

创建项目目录

首先,创建项目目录,并切换到该目录中:

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

安装依赖

接下来,我们将需要安装两个包:Denon 和 ws,分别为 Deno 的热重载工具和实现 Websocket 的依赖。

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

创建服务端代码

我们将创建一个名为 server.ts 的文件,在其中实现 Websocket 服务端的代码。以下是一个基本的服务端代码示例:

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

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

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

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

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

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

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

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

运行服务器

启动 Denon 以监视文件并自动重载服务器:

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

现在访问 http://localhost:8080,你将看到应用程序正在运行,但连接尚未建立。现在,我们将创建一个客户端来建立连接:

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

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

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

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

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

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

现在访问 http://localhost:8080,你将看到 Websocket 客户端建立连接,并且你可以通过输入信息并点击“Send”按钮来发送信息。

结论

现在你已经学会了如何利用 Deno 实现 Websocket 服务端。本文中,我们了解了 Deno 基础知识和它的特点,并通过实现服务端和客户端代码,向你展示了 Deno 的强大功能。 Deno 的灵活性和易用性使它成为实现 Websocket 服务端的理想选择。

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