在Windows上使用NodeJS的Protobuf

时间:2012-06-15 23:34:00

标签: javascript windows node.js protocol-buffers

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

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

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

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

是否有简单的javascript图书馆读取.desc Schema并构建消息?没有本机代码或复杂的东西?

1 个答案:

答案 0 :(得分:2)

如果您正在使用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