4

Windows の NodeJS スクリプトから単純な TCP メッセージをデバイス (Karotz) に送信したいと考えています。

  • NodeJS が正常にインストールされました
  • TCP接続が機能しています
  • これが私の .proto ファイルです (http://wiki.karotz.com/index.php/Voos-message.proto)
  • Googleのプロトコルを使用して.descにコンパイルします

メッセージを作成してデバイスに送信する方法がわかりません。

しかし、Windowsにインストールする方法がわかりません。ネイティブライブラリのため複雑に見えます。

.desc スキーマを読み取ってメッセージを作成するシンプルな JavaScript ライブラリはありますか? ネイティブコードや複雑なものがなければ?

4

1 に答える 1

2

Node.js を使用している場合は、マシンに C++ コンパイラがあると仮定して、protobuf ライブラリの NPM パッケージ バージョンを使用する方が簡単です。

> 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 に答える