/pomelo-protobuf-plugin

plugin for pomelo protobuf

Primary LanguageTypeScriptMIT LicenseMIT

pinus-protobuf-plugin

pinus-protobuf-plugin 是一个 pinus 插件,提供 protobuf 的编解码功能, 内部使用 ProtoBuf.js 来实现。

提供这个插件是要解决什么问题:

  • 之前只有 pomelo 的版本,pinus 的还没有
  • pomelo 版本不支持 bool 类型和 64 位整型

此插件增加了对 bool 和 64 位整型的支持,配合客户端 pinus-unityclient-socket 使用,此客户端是 C# 编写提供给 unity 使用的。

安装

npm install pinus-protobuf-plugin
或者
yarn add pinus-protobuf-plugin

使用

协议文件默认是 /config/serverProtos.proto/config/clientProtos.proto

写法就是正常的 protobuf v3 的写法,目前需要注意:

  • 不支持 package 语法

例如 serverProtos.proto

syntax = "proto3";

message connectorentryHandlerentry {
    uint32 code = 1;
    string msg = 2;
}

使用前需要转为 json 文件,使用命令

# 安装 pbjs
npm i -g protobufjs
# 编译 proto 为 json
pbjs -t json serverProtos.proto > serverProtos.json
pbjs -t json clientProtos.proto > clientProtos.json

代码中使用

// app.ts
import { Protobuf } from 'pinus-protobuf-plugin';
app.use(Protobuf);

例子

提供了一个服务端+客户端的示例,演示如何使用:example-pinus-unity