npm 包 @hapi/nes 使用教程

@hapi/nes 是一个基于 WebSockets 协议的实时通信库,可以在浏览器端和服务器端使用。它的功能强大、易于使用,并且通过订阅/发布模式实现了服务器端主动推送信息的功能。本文将为你介绍如何使用 @hapi/nes 实现实时通信功能。

安装

在终端中输入以下命令即可安装 @hapi/nes

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

引入

在需要使用 @hapi/nes 的文件中引入:

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

我们现在就可以使用所有的 @hapi/nes 工具了。

用法

1. 创建 WebSocket 连接

我们可以使用 Nes.Client 类创建一个客户端连接:

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

其中 ws://localhost:8000 是要连接的服务器地址。

2. 订阅信息

要接收服务器发送的信息,我们需要订阅一个信息通道,并设置相应的事件处理程序:

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

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

/channel 是订阅的通道名称。当服务器向订阅的 /channel 通道推送数据时,就会触发 handler 中的事件处理程序。

3. 发送信息

要通过 @hapi/nes 向服务器发送信息,我们可以使用 client.message 方法:

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

在上面的代码中,我们会向 /channel 通道发送一个 message 数据。

4. 关闭连接

当我们不再需要 @hapi/nes 连接时,可以使用 client.disconnect() 关闭连接。

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

示例代码

服务器端

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

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

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

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

--------

客户端

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

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

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

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

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

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

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

总结

本文介绍了如何使用 @hapi/nes 实现浏览器与服务器之间的即时通信。使用 @hapi/nes,可以轻松地实现实时通信的功能,例如实时的聊天程序、实时更新等功能。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/154295


猜你喜欢

  • NPM 包 gh 使用教程

    GitHub 是开发者们日常使用的版本控制工具,而 NPM 是前端开发者们的必备工具之一。npm 包 gh 为我们提供了与 GitHub API 交互的快捷方式,让开发更加高效。

    5 年前
  • npm 包 tpl 使用教程

    前言 在前端开发中,我们通常需要对模板文件进行操作,由于模板文件的复杂度和多样性,手动进行操作往往比较繁琐。此时,我们可以使用 npm 包 tpl 来帮助我们快速操作模板文件。

    5 年前
  • npm 包 pub 使用教程

    前言 npm 是 Node.js 平台的包管理器,通过它可以方便地查找、安装、管理和发布 Node.js 包。在前端开发中,使用 npm 包极大地提高了代码的复用性和模块化程度。

    5 年前
  • npm 包 API 使用教程

    简介 npm 是 Node.js 的包管理工具,它可以帮助开发者快速地安装、更新、卸载和发布 JavaScript 包。在前端开发中,我们经常使用大量的第三方包来提高开发效率和代码质量,而 npm 就...

    5 年前
  • npm 包 props 使用教程

    什么是 props? 在 React.js 中,props 是组件之间传递数据的一种方式。props 是一个对象,它包含了一些键值对,每个键值对代表了一个属性和它的值。

    5 年前
  • npm 包 react-raphael 使用教程

    背景 React 是目前前端开发中最流行的框架之一,它能使我们更有效地组织和开发 Web 应用。Raphael 是一个强大的 SVG 操作库,让我们能够在浏览器中创建出色的矢量图形。

    5 年前
  • npm包babel-preset-es2015-rollup使用教程

    在前端开发中,常常需要使用到一些新的JavaScript语法和特性,然而并不是所有的浏览器都支持这些特性。babel是一个著名的JavaScript转码器,可以将新的JavaScript代码转换成老版...

    5 年前
  • npm 包 area-polygon 使用教程

    在前端开发中,我们经常需要计算多边形的面积。如果你是从事 GIS 地图开发的工程师,这一需求将更加常见。而在计算多边形面积时,我们通常需要用到数学公式或者算法。但是,这一计算过程其实可以通过使用 np...

    5 年前
  • npm 包 turf-point 使用教程

    在前端开发中,经常需要处理地理信息数据。turf-point 是一个用于创建地理点的 npm 包,可以协助开发者快速创建、编辑和分析地理点。本文将详细介绍 turf-point 包的使用方法,帮助读者...

    5 年前
  • npm 包 @turf/points-within-polygon 使用教程

    背景 在前端开发中,有时候需要处理地理信息时就需要用到地理信息系统(GIS)。而 Turf.js 是一款用于处理地理信息的 JavaScript 库,它提供了很多方便且易用的 API,能够处理点、线、...

    5 年前
  • npm 包 @turf/nearest-point-on-line 使用教程

    随着前端技术的不断发展,越来越多的人开始关注地图展示和地理信息处理的相关技术。其中,最常用的就是关于地理位置的计算。在地理位置计算方面,@turf/nearest-point-on-line 是一个非...

    5 年前
  • NPM包@turf/centroid 使用教程

    简介 在前端开发中,我们经常需要处理地理数据。而@turf/centroid是一款npm包,提供了计算多边形中心的功能。本文将为大家详细介绍@turf/centroid包的使用教程,以及示例代码和深度...

    5 年前
  • npm 包 @turf/area 使用教程

    前端开发中,地理信息系统(GIS)相关技能越来越受到重视。@turf/area 是一个常用的开源 JavaScript 库,可以用来计算地图上的区域面积。这个包可以用于计算圆形、多边形和线条等不同类型...

    5 年前
  • npm包fast-simplex-noise使用教程

    在前端领域,快速生成球形几何体、山脉、云彩等效果是一个常见的需求,而fast-simplex-noise是一个非常流行的npm包,用于生成快速而高质量的复杂性噪声,从而实现这些效果。

    5 年前
  • npm 包 armillary 使用教程

    在前端开发过程中,我们常常需要使用第三方库来提高我们项目的效率和功能。其中,npm 是一个常见的 JavaScript 包管理器,它可以帮助我们轻松地安装、升级和管理我们所需要的第三方库。

    5 年前
  • npm 包 @typed/curry 使用教程

    函数编程中,柯里化(Currying)是一种重要且常用的技术。它能够让我们写出更加模块化、高效和易于维护的代码。 在 JavaScript 中,柯里化可以通过手写代码实现。

    5 年前
  • npm包 @graphql-codegen/typescript-operations使用教程

    什么是@graphql-codegen/typescript-operations @graphql-codegen/typescript-operations是一个npm包,它可以自动生成Types...

    5 年前
  • npm 包 @graphql-codegen/typescript-compatibility 使用教程

    前言 GraphQL 是一个数据查询和操作语言。它是由 Facebook 开发并在 2015 年公开发布的,现已成为了现代 Web 应用程序中流行的技术之一。 在 GraphQL 生态系统中,有许多工...

    5 年前
  • npm 包 @graphql-codegen/typescript 使用教程

    在现代化的 JavaScript 应用程序中,GraphQL 已经变得越来越流行。GraphQL 使得前端应用程序从后端可以请求精准的数据,这极大地降低了前端应用程序的复杂性。

    5 年前
  • npm 包 @graphql-codegen/plugin-helpers 使用教程

    前言 GraphQL 在 Web 开发中得到越来越广泛的应用,而且随着 GraphQL API 数量的增加,我们不得不考虑代码生成(Code Generation)的问题。

    5 年前

相关推荐

    暂无文章