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 包 tnrn-code-push-cli 使用教程

    npm 包 tnrn-code-push-cli 是一个专门为 React Native 开发者推出的命令行工具,用于与微软推出的 CodePush 进行集成,提供了快速部署和管理 React Nat...

    3 年前
  • npm 包 @jdevelopthings/core 使用教程

    什么是 npm 包? 在前端开发中,我们经常会用到各种库和框架,这些库和框架是由开发者编写的一些代码文件,它们可以为我们提供各种功能或者解决特定的问题。但是,当我们需要使用这些开发者编写的代码时,我们...

    3 年前
  • npm 包 @blaiv/json-google-translate 使用教程

    随着全球化的发展,人们越来越需要进行跨语言的沟通,因此翻译工具越来越受到关注。在前端开发中,我们经常需要利用翻译工具来实现多语言的界面。而今天我们要介绍的是 @blaiv/json-google-tr...

    3 年前
  • npm 包 @ross-technologies/simpbot 使用教程

    前言 @ross-technologies/simpbot 是一个基于 Node.js 的简单、轻量级聊天机器人框架。它能够连接到各种聊天平台,包括 Slack、Discord、Telegram 等,...

    3 年前
  • npm 包 @tonyduanesmith/react-medium-image-zoom 使用教程

    介绍 在前端开发中,图片是必不可少的元素之一。通过图片,我们可以让内容更加生动形象,吸引用户的关注。在图片展示的过程中,有时候需要对图片进行缩放的操作,以便用户更加清晰地看到细节。

    3 年前
  • npm 包 savings-test 使用教程

    什么是 savings-test? savings-test 是一个用于测试页面性能和加载时间的 npm 包。它可以帮助你检查你的网站是否存在冗余的 JavaScript 和 CSS 文件,从而减少页...

    3 年前
  • npm 包 homebridge-zigbee 使用教程

    前言 在现代家居中,智能家居产品越来越多,而 Zigbee 协议也得到了广泛的应用。而 homebridge-zigbee 就是一个可以将 Zigbee 网络转换成 Apple HomeKit 的插件...

    3 年前
  • npm 包 sendit-tmt-modal-image 使用教程

    随着前端技术的不断发展,越来越多的 npm 包被开发出来并被广泛使用。其中,sendit-tmt-modal-image 是一款非常实用的图片查看器,可以为网站提供良好的用户体验,为用户提供更好的浏览...

    3 年前
  • npm 包 serverless-offline-aws-ssm 使用教程

    在 serverless 架构中,除了需要服务器和运维操作之外,还需要考虑如何进行本地开发和测试,以及如何部署到云端。而 serverless-offline-aws-ssm 这个 npm 包则能够帮...

    3 年前
  • npm 包 @angular-buddies/prettier 使用教程

    在前端开发中,代码的规范和美观程度很重要。Prettier 是一个强大的代码格式化工具,它可以帮助我们自动格式化代码。在 Angular 项目中,我们可以使用 npm 包 @angular-buddi...

    3 年前
  • npm包celery-ts使用教程

    随着前端技术的不断发展,前端的工作范围越来越广泛,需要掌握的技术也越来越多。其中,Node.js和npm都是不可或缺的技术之一。本文将介绍一款Node.js的npm包——celery-ts的使用方法。

    3 年前
  • npm 包 truncate-title 使用教程

    当我们在前端开发中需要限制标题的长度时,试想一下,我们该如何实现呢?手写一个截取字符串的函数显然太繁琐了。幸运的是,有一个非常好用的 npm 包 truncate-title,本文将详细介绍 npm ...

    3 年前
  • npm 包 vue-zondicons 使用教程

    Vue-zondicons 是一个基于 Vue.js 框架的矢量图标库。它提供了超过 200 个矢量图标,可轻松集成到 Vue 项目中。本文将为您介绍如何使用 npm 包 vue-zondicons。

    3 年前
  • npm 包 @defy/postcss-px-to-viewport 使用教程

    前言 在移动端开发中,由于不同设备的屏幕尺寸不同,使用固定的像素单位(px)来实现页面的布局,会导致在不同设备上显示效果不同,而使用相对单位(vw、vh)可以比较好地解决这一问题。

    3 年前
  • npm 包 @francisco.ruiz/motor-global-state 使用教程

    介绍 随着前端应用的复杂度的增加,组件状态管理是至关重要的,它可以帮助我们更好地处理我们的状态逻辑,提高前端应用的可维护性和可扩展性。在这方面,@francisco.ruiz/motor-global...

    3 年前
  • npm 包 react-native-mdl-quick-menu 使用教程

    简介 react-native-mdl-quick-menu 是一个基于 React Native 的快速菜单组件库,可用于创建多种类型的菜单。它提供了一套丰富的样式和配置选项,可以帮助开发人员快速构...

    3 年前
  • npm 包 resx2tsjs 使用教程

    介绍 resx2tsjs 是一款 npm 包,它用于将 .resx 格式的本地化资源文件自动转换为 TypeScript 中的对象,并生成一个 TypeScript 的定义文件,方便前端开发人员调用。

    3 年前
  • npm 包 @loopmode/react-file-drop 使用教程

    前言 在前端开发中,文件上传功能是一个很常见的需求。为了方便开发者实现这一功能,市面上出现了许多优秀的库。其中,@loopmode/react-file-drop 是一个基于 React 框架的文件拖...

    3 年前
  • npm 包 @vialer/vue-compiler-gulp 使用教程

    简介 @vialer/vue-compiler-gulp 是一个使用 Gulp 构建任务流,将 Vue 单文件组件编译成 JavaScript 模块的 NPM 包。该包支持 Vue 2.x 版本。

    3 年前
  • npm 包 dynamo-model 使用教程

    前言 在开发 Web 应用程序时,我们往往需要使用数据库来存储和管理数据。DynamoDB 是一种全托管的 NoSQL 数据库服务,可以实现快速和灵活的数据存储。npm 包 dynamo-model ...

    3 年前

相关推荐

    暂无文章