一个二进制网络数据解析模块(与C++通信) - CNode技术社区

一个二进制网络数据解析模块(与C++通信)
发布于 10 年前 作者 shudingbo 5669 次浏览 最后一次编辑是 9 年前 来自 分享

因项目需要,实现一个nodejs模块** node-cppMsg**,用于与c/c++进行二进制数据通信:

  1. 解析 C/C++传来的二进制数据为json对象;
  2. 编码 json对象为c/c++能够解析二进制数据;

模块安装: npm install cppmsg 使用,参见 test.js

/*
 * Created by sdb on 2/25/16.
 */
var cppMsg = require('cppmsg');
var msg_def = {
 msgHead:[
 ['mainType','int32'],
 ['subType', 'int32']
 ]
};
var msg = new cppMsg.msg(
 [
 ['reg','int32'],
 ['chkCode','int32'],
 ['iType','int32'],
 ['bMonitor', 'bool'],
 ['workPath','string',10],
 ['processID','uint32'],
 ['testObj','object', msg_def.msgHead],
 ['testint64','int64']
 ]
 );
var buff = msg.encodeMsg( {
 reg : 2,
 chkCode : 0,
 iType : 2,
 bMonitor : false,
 workPath : 'no 你 work',
 processID : 1234,
 
 testObj :{
 mainType : 0x01020304,
 subType : 0x0A0B0C0D
 },
 
 testint64 : 0xCDEF
 } );
console.log( buff );
var data = msg.decodeMsg( buff );
console.log( data );
回到顶部

AltStyle によって変換されたページ (->オリジナル) /