4

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

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

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

但我不明白如何在 Windows 上安装它。由于本地库,似乎很复杂。

是否有简单的 JavaScript 库可以读取 .desc 架构并构建消息?没有本机代码或复杂的东西?

4

1 回答 1

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

于 2013-05-11T06:20:55.027 回答