在js中 使用 protobuf
正常情况下 下载对应的protoc 文件
下载地址:https://repo1.maven.org/maven2/com/google/protobuf/protoc/
messagebody.proto
syntax = "proto3";
message messagebody{
//工厂 3G
string factory = 1;
//设备id 3918173069
string deviceId = 2;
//内容长度的长度 消息类型+消息主体 = 内容长度
string length = 3;
//消息类型
string type = 4;
//消息主体
string body = 5;
//时间戳
string timeStamp = 6;
//发送人
string sender = 7;
//接收人
string receiver = 8;
//用户组编号
string groupId =9;
}
先使用对应的方法生成对应 js文件
位置/protoc.exe --js_out=import_style=commonjs,binary:. jsMessageBody.proto
使用时 需要使用对应的 node进行处理
初始化node npm init
安装使用到的数据
npm install -g require (对库文件的引用库)
npm install -g browserify (这个是用来打包成前端使用的js文件)
npm install google-protobuf
node 初始化后 在创建 exports.js
var MessageBody = require('./MessageBody_pb');
module.exports = {
DataProto: MessageBody
}
保存后 执行 browserify exports.js > MessageBody.js
生成后的文件 就可以直接使用
//发送的内容给服务器
var content = new proto.messagebody();
content.setFactory("3G");//厂商
content.setLength("0009");//长度
content.setBody("0,150,56");//内容
var bytes = content.serializeBinary();
//解码操作
var enChatReqBody = proto.messagebody.deserializeBinary(bytes);
console.log("解码后:" + enChatReqBody);