在Windows上的NodeJS的Protobuf(Protobuf with NodeJS on

2019-07-29 23:06发布

我想从脚本的NodeJS在Windows发送简单的TCP报文到设备(Karotz)。

  • 正确的NodeJS的安装工作
  • TCP连接工作
  • 这里是我的.proto文件(http://wiki.karotz.com/index.php/Voos-message.proto)
  • 我编译它使用谷歌的protoc到.desc

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

  • 我读谷歌说明
  • 而protobuff_for_node等叉子

但我不明白如何在Windows上安装它。 似乎因为土生土长的librarie的复杂。

是否有阅读.desc模式,打造讯息死简单的JavaScript librarie? 如果没有本机代码或复杂的东西?

Answer 1:

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



文章来源: Protobuf with NodeJS on Windows