protobufjs,protobufjs序列化二进制文件

http://www.itjxue.com  2023-01-07 08:23  来源:未知  点击次数: 

protobuf.js 能将common转换成json吗

如果测试脚本用Python来写的话,一般的做法是用的Python调用json模块中函数解析json文件,然后新建protobuf对象,依次填写各字段,然后发送出去。

当然如果愿意造上面的轮子也没关系,如果想偷懒也是可行的,pbjson.py脚本就为你干这事提供了温床,下面会介绍这个过程:

1、造json文件,内容如下:

#vi testjson2pb.json

{

"name":"scq",

"age":30,

"work_unit":"taobao",

"class_mate":[

{

"name":"jim",

"age":30

}

]

}

关于cocos creator 使用socket-io传输protobufjs提示illegal buffer的问题

环境:

客户端:cocos creator + socket-io + protobufjs?

服务器:nodejs + socked-io + protobufjs?

protobujs使用的是生成好的静态js文件

问题:

????今天在测试的时候发现客户端发给服务器的buffer数据后,服务器解析过程出错,总提示“Error: illegal buffer at *** create_typed_array”这种类似问题,同样的服务器发给客户端,客户端解析时也会提示。

? ? 一开始不知道怎么回事,就一顿度娘和谷歌,也没查到怎么回事,偶然发现了一片帖子中提到uint8arry的问题,便回头看了一下提示错误的地方,看了一下源码,如下:

在create_array的时候先判断了Uint8Array是不是undefined的,如果不是,就开始创建。问题就是出现在用buffer创建的地方。

问题就出现在这个我们发给服务器的buffer上,encode的时候buffer中什么样的类型都有,不仅仅是Uint8Array,还会有Uint32Array。

所以想到的解决办法如下(不知道有没有坑):

客户端发服务器:

在encode之后将数据填充到Uint8Array后发给服务器:

接收到服务器的data:

以上方法可以解决buffer解析出错的问题,但是还未应用到实际生产环境中,只是在为小游戏做准备,先暂时这样用着,如有问题再去解决。

还有就是微信小游戏对包体大小限制的很严格,如果用生成好的静态js文件,随着协议越多,js文件就会越大,这个有什么好办法解决呢?(难道是删掉里面的注释?手动滑稽)希望有大神有办法可以赐教!!?

2020-04-09vue中使用protobuf

1.?安装protobuf转换?npm?i?protobufjs

2.?在src目录结构下建一个文件夹proto(叫什么名字都行)

3.?将.proto文件拷贝到proto文件夹下??

4.?在package.json文件中添加proto生成命令

???pbjs?-t?static-module?-w?commonjs?-o?src/proto/proto.js?src/proto/*.proto?

5.?然后在CMD中进入本项目文件夹执行npm?run?proto即可在proto文件夹下生成proto.js文件

6.?如果proto.js在使用时出现报错问题是因为导出语法问题,改成kbdexport?default/kbd即可

7.?如有疑问可以留言

protobufjs简单使用

补充一下上一篇随笔 的一点内容:一定要用 google.golang.org/protobuf/proto 全部替换 github.com/gogo/protobuf/proto ,假如不替换,服务无法正常解析protobuf的。

protobufjs( )可以让我们再浏览器中使用protobuf,下面的例子是如何在普通页面中,直接使用protobufjs。

全局安装protobufjs,使用pbjs直接生成proto文件对应的js protobuf描述文件,这样就可以在普通页面中直接使用了。

请教coco2d-js 如何使用 protobuf

使用了开源protobuf.js工程,github可搜

另外协议描述文件是json格式(官方有工具把proto转json),原因在于我们网络层需要读取json里面的数据信息,而proto格式不方便解析

protobufHelper 是自己写的,功能如文件名。

抱歉,最近忙没 怎么看私信,可以参考我上传的文件,最好多动手实践。

(责任编辑:IT教学网)

更多

相关金山WPS文章

推荐金山WPS文章