NODEJS 异构系统数据交互

NODEJS 与异构系统数据交互主要是两种方式:

1、直接调用DLL 实现数据交互

    可通过FFI 方式实现。

优点是:安装好ffi后可快速兼容原有业务

缺点:配置ffi编译环境复杂,对DLL 的编写方式有一定要求,

            不规范的DLL 可能导致NODE执行异常

           64位的NODE 跟 32位 DLL 的兼容性问题。

          DLL 如果有结构体等复杂参数 不好对应 FFI 中使用。

2\通过child_process 方式调用EXE进程来实现数据交互。

var cp = require ( ' child_process ' ) ;
//同步的方式
let out = cp . execFileSync ( " testdll.exe " , ["arg1" ,"arg2"] , {} ) ;
//异步的方式
cp.execFile("testdll.exe", [ "arg1" ,"arg2"], {}, (error, stdout, stderr) => {
    console.log(stdout);
})

这种方式NODE 会接管stdout 和 stderr ,exe中把结果通过 printf 输出。

缺点:需要先生成EXE,EXE 中调用 DLL 并且返回结果。

优点:不需要配置 FFI,不受DLL 的影响

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值