javascript – 在Windows上使用NodeJS的Protobuf

我想从
Windows上的NodeJS Script向设备(Karotz)发送简单的TCP消息.

> NodeJS正确安装了一个工作
> TCP连接工作
>这是我的.proto文件(http://wiki.karotz.com/index.php/Voos-message.proto)
>我使用google的protoc将其编译为.desc

我不知道如何构建我的消息以将其发送到设备?

>我读了Google Description
>和protobuff_for_node和其他叉子

但我不明白如何在Windows上安装它.由于本地图书馆,似乎很复杂.

有没有读过.desc Schema并构建消息的简单的javascript库?没有本机代码或复杂的东西?

最佳答案 如果您正在使用Node.js,只需使用protobuf库的NPM包版本就可以更简单地为它构建它,假设您的计算机上有一个C编译器:

> npm install protobuf

建立你的信息&解析和现有消息:

var Schema    = require('protobuf').Schema;
var readFile  = require('fs').readFileSync;
var schema = new Schema(readFile(__dirname+'/Voos-message.desc'));
var VooMsg = schema['net.violet.voos.message.VoosMsg'];

// Convert to protobuf format
var msg = VooMsg.serialize({id:1, correlationId: 'hello'});

// Read it back
var outMsg = VooMag.parse(msg);

protobuf库运行良好,易于使用.但如果您想要一个纯JS版本,请查看:ProtoBufJS

点赞