# set-sail-rpc-node

> 扬帆-RPC Node.JS客户端

Latest version **1.1.1** (published 2021-08-05) · ISC license · 0 weekly downloads

## Install

```sh
npm install set-sail-rpc-node
pnpm add set-sail-rpc-node
yarn add set-sail-rpc-node
bun add set-sail-rpc-node
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.1 |
| Published | 2021-08-05 |
| First published | 2021-06-10 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 12.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | renminghe |
| Maintainers | renminghe |

## Links

- npm: https://www.npmjs.com/package/set-sail-rpc-node
- npm.io page: https://npm.io/package/set-sail-rpc-node

## Recent versions

- 1.1.1 (latest) — 2021-08-05
- 1.1.0 — 2021-08-05
- 1.0.9 — 2021-07-08
- 1.0.8 — 2021-07-08
- 1.0.7 — 2021-07-08
- 1.0.6 — 2021-07-08
- 1.0.5 — 2021-06-21
- 1.0.4 — 2021-06-11
- 1.0.3 — 2021-06-11
- 1.0.2 — 2021-06-10
- 1.0.0 — 2021-06-10

## README

## 自定义RPC协议 Node.JS版本

### 通信协议
![输入图片说明](https://images.gitee.com/uploads/images/2021/0611/171311_bc1fd3f9_1119183.png "RPC Protocol.png")

### 通信流程
![输入图片说明](https://images.gitee.com/uploads/images/2021/0611/171325_779100d1_1119183.png "RPC1.png")

### 使用：
**1.引入依赖：**
```shell
npm install set-sail-rpc-node@1.0.4 --save
```
**2.RPC Client端使用(调用Java):**
```javascript
import RpcClient from "set-sail-rpc-node/RpcClient.mjs";

const rpcClient = new RpcClient("192.168.1.150:20883");
(async () => {
    const result = await rpcClient.invoke("com.cupiday.xinvite.gateway.business.service.IHello", "sayHello", {name: "haha"});
    console.log(result);
})();
```
**3.RPC Server端使用:**
```javascript
import RpcServer from "set-sail-rpc-node/RpcServer.mjs";
import log from "../utils/Log4js.mjs";
import ConfigUtil from "../utils/ConfigUtil.mjs";
import {abnormalLogin} from "./OfflineEventService.mjs";

const server_config = ConfigUtil.getConfig("server_config");

class RPCService {
    start() {
        const rpcServer = new RpcServer(server_config.rpcServer.hostname, server_config.rpcServer.port);
        rpcServer
            .registry("OfflineEventService", "abnormalLogin", abnormalLogin)
            .start();
        log.info(`rpc server listen ${server_config.rpcServer.port}`);
    }
}

export default new RPCService();
```

---
_Source: https://npm.io/package/set-sail-rpc-node · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
