npm 包 polix-rpc 使用教程

简介

polix-rpc 是一个基于 JSON-RPC 协议的远程过程调用(RPC)库,可用于 JavaScript 程序的服务器端和客户端间通讯,也可以在 Web 浏览器中使用。该库主要的特点是使用简单、功能强大、可扩展性好。

安装

在终端里使用 npm 包管理器进行安装:

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

使用方法

  1. 引入库:
----- -------- - ---------------------
  1. 创建服务器:
----- ------ - -----------------------
  -- ---------
---
  1. 在服务器上导出服务:
---------------------------- -
  -- --------
---
  1. 启动服务器:
------------------- -- -- -
  ----------------------
---
  1. 创建客户端:
----- ------ - -----------------------
  -- ------------
---
  1. 调用远程服务:
-------------------------- ------------- -
  -- ----------
-- ----- ------- -- -
  -- ----- -
    ------------------------- -----
  - ---- -
    --------------------- --------
  -
---

配置

以下是服务器端和客户端的配置属性:

服务器端配置

createServer(options: ServerOptions): RpcServer

选项 类型 描述
host string 服务器监听地址,默认是 0.0.0.0(表示监听本机所有网卡)。
port number 服务器监听端口,默认是 8080
maxRequestSize number 收到的请求最大字节数,默认是 1024 * 1024(即 1MB)。
maxResponseSize number 发送的响应最大字节数,默认是 1024 * 1024(即 1MB)。
pingInterval number 心跳检测间隔(毫秒),默认是 30000(即 30 秒)。
pingTimeout number 心跳超时时间(毫秒),默认是 10000(即 10 秒)。
requestTimeout number 请求超时时间(毫秒),默认是 60000(即 60 秒)。
responseTimeout number 响应超时时间(毫秒),默认是 60000(即 60 秒)。
handleErrors boolean 是否处理方法调用时的错误,默认为 false
strictMode boolean 是否开启严格模式,即只允许导出的方法被调用,默认为 true
alreadyListening boolean 是否已经在监听了,如果是则不自动监听。
serializeFunctions boolean 是否序列化函数,一般不需要开启。

客户端配置

createClient(options: ClientOptions): RpcClient

选项 类型 描述
host string 服务器地址,默认是 localhost
port number 服务器端口,默认是 8080
maxRequestSize number 发送请求的最大字节数,默认是 1024 * 1024(即 1MB)。
maxResponseSize number 接收响应的最大字节数,默认是 1024 * 1024(即 1MB)。
pingInterval number 心跳检测间隔(毫秒),默认为 0(不检测)。
pingTimeout number 心跳超时时间(毫秒),默认为 0(不检测)。
requestTimeout number 请求超时时间(毫秒),默认为 60000(即 60 秒)。

示例代码

服务器端:

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

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

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

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

客户端:

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

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

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

输出结果:

------ -

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


猜你喜欢

  • npm 包 redux-async-blue 使用教程

    介绍 redux-async-blue 是 redux 异步操作的中间件,它可以方便地处理异步操作,并将异步操作的状态与同步操作的状态进行合并。同时,redux-async-blue 还提供了强大的错...

    3 年前
  • npm 包 @cedricrey/a3c 使用教程

    前言 随着互联网技术的发展,Web 前端开发技术也越来越成熟和复杂。为了提高项目的开发效率和代码质量,使用第三方开源库或框架已经成为前端开发的常规做法。在这其中,npm 成为了前端开发者最广泛使用的包...

    3 年前
  • npm 包 @sam_undefined/hc 使用教程

    介绍 @sam_undefined/hc 是一个能够帮助前端程序员完成很多常见操作的 npm 包。对于前端开发者来说,学会使用这个 npm 包将会大大地提高开发效率。

    3 年前
  • npm 包 functional-pipelines 使用教程

    npm 是目前最流行的 Node.js 包管理器。在前端开发中,我们可以使用大量的 npm 包来简化我们的开发工作。今天,我们将介绍一款名为 functional-pipelines 的 npm 包,...

    3 年前
  • npm 包 redux-polling 使用教程

    前端开发中,使用频率最高的一个技术就是状态管理了。而 Redux 是状态管理的第一选择。在 Redux 的基础上,有一款非常方便的插件,就是 redux-polling。

    3 年前
  • npm 包 cerebro-yahoo-dic 使用教程

    简介 cerebro-yahoo-dic 是一款基于 Yahoo 聚合数据平台 API 开发的轻量级英文单词翻译工具。该工具可在前端应用中使用,支持多个主流 JavaScript 框架,功能丰富,应用...

    3 年前
  • npm 包 babel-plugin-jsx-code 使用教程

    在前端开发中,使用 JSX 是一种非常方便的方式来构建用户界面。然而,在 JSX 代码中,经常需要包含一些 JavaScript 代码,这就给代码的可读性和理解带来了一定的困难。

    3 年前
  • npm 包 hyper-monokai-extended 使用教程

    在前端开发中,我们常常需要使用代码编辑器以方便编写和调试代码,而 Monokai 主题则是广受前端开发者喜爱的一种颜色方案。而 hyper-monokai-extended 是一款基于 Hyper 的...

    3 年前
  • npm 包 fraql 使用教程

    什么是 fraql? fraql 是一个用于 React.js 库的 GraphQL 查询包,它可以让你轻松使用 GraphQL 查询,获取数据并在您的 React 组件中使用。

    3 年前
  • npm 包 neuroevolution 使用教程

    Neuroevolution 是一个基于 JavaScript 的神经进化库,可用于训练神经网络进行机器学习。该库可以用于前端、后端以及 Node.js 环境。 在本教程中,我们将学习如何使用 npm...

    3 年前
  • npm 包 state-maker 使用教程

    在前端开发过程中,状态管理是一个重要的主题。而 state-maker 是一个可以帮助开发者更好地管理状态的 npm 包。本文将详细介绍 state-maker 的使用方法,并提供示例代码和指导意义。

    3 年前
  • npm 包 @amindunited/read-file 使用教程

    在前端开发中,访问和读取文件是很常见的操作。虽然 JavaScript 语言提供了 FileReader 接口来完成这个任务,但使用 FileReader 需要写很多的繁琐代码,因此,很多开发者选择使...

    3 年前
  • npm 包 adsbold-kue 使用教程

    简介 在前端开发中,常常需要借助一些 npm 包来加速流程。adsbold-kue 就是一个针对 Node.js 的任务队列模块,可以很方便的实现一些异步操作中的负载均衡、并行度等需求。

    3 年前
  • npm 包 tui-app-loader-fork 使用教程

    作为前端开发者,在开发的过程中有可能需要向项目中引入一些外部的库和插件。这些库和插件可以让我们的开发更加高效,减少冗余代码并提高代码的可维护性。而 npm 就是一个非常好的包管理工具,可以让我们轻松地...

    3 年前
  • npm 包 nunjucks-webpack-loader 使用教程

    前言 nunjucks-webpack-loader 这个 npm 包是一个用于在 Webpack 中编译 nunjucks 模板的 loader。它可以帮助开发者在前端项目中更加便捷地使用 nunj...

    3 年前
  • npm 包 react-use-gestures 使用教程

    在现代的前端开发中,我们经常需要实现用户与网页交互的操作。而其中的手势操作是一个越来越流行的需求,因此使用 react-use-gestures 这个 npm 包来实现手势操作可以使我们的开发更简单、...

    3 年前
  • npm 包 @jesterxl/hm-doc 使用教程

    简介 @jesterxl/hm-doc 是一个用于生成前端文档的 npm 包,它能够自动生成 Markdown 格式的注释文档,并将其转化为静态 HTML 页面。它可以大大减少手写文档的工作量,提高代...

    3 年前
  • npm 包 bch-wallet-bridge 使用教程

    前言 bch-wallet-bridge 是一款面向使用 Bitcoin Cash(BCH)作为数字货币的开发人员的 npm 包,其作用是将前端交互和 BCH 钱包服务进行桥接。

    3 年前
  • npm 包 moretv-tast 使用教程

    前言:moretv-tast 是一个基于 Puppeteer 的 Nodejs 库,用于进行 UI 自动化测试。它的特点是功能强大且易用,支持中文操作及断言,同时具有良好的扩展性与定制性。

    3 年前
  • npm 包 moretv-toast 使用教程

    前言 在前端开发过程中,我们常常需要使用各种工具和插件来提高效率以及优化用户体验。本文将介绍一个常用于移动端 Toast 提示的 npm 包“moretv-toast”,并提供详细且有深度的使用教程和...

    3 年前

相关推荐

    暂无文章