NodeJS 服务器向 C++ 进程发送数据

Posted

技术标签:

【中文标题】NodeJS 服务器向 C++ 进程发送数据【英文标题】:NodeJS server send data to C++ process 【发布时间】:2019-02-25 17:10:16 【问题描述】:

我有一个 nodeJS 服务器,它从 web-UI 接收用户 POST/Streaming 请求。

我有一个 C++ 后端引擎进程,它进行一些计算并将 API 调用发送到其他第 3 方服务。 API 调用需要网络用户提供的某些信息。

我的问题是传递在 NodeJS 上收到的请求数据并发送到 C++ 进程的最佳解决方案是什么?

WebUI -> NodeJS ->???->> C++ 引擎

【问题讨论】:

【参考方案1】:

让您的 C++ 应用程序侦听 TCP 或 Unix 套接字。 让您的 NodeJs 应用程序连接到该套接字并交换消息。对于消息,您可以使用 Google Protocol Buffers、JSON 等。

【讨论】:

【参考方案2】:

如果你掌握的信息还在 javascript 层,那么你必须实现 C/C++ Addons 实现。如果您已经拥有某种类型的本机模块,那么您可能会在此基础上遵循相同的设计(很可能现有模块可能基于 NAN)。如果你打算引入一个全新的原生模块,那么现在是考虑 N-API 的好时机。您可以从中获得有关它的更多信息。

https://nodejs.org/dist/latest-v11.x/docs/api/n-api.html

https://github.com/nodejs/node-addon-api

【讨论】:

以上是关于NodeJS 服务器向 C++ 进程发送数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C++ 中将字节数组发送到另一个进程

从 Angular 向 nodejs 发送 https 请求。无法发送任何数据

如何在不同进程中从远程服务向 IPC 客户端发送数据

向守护进程发送 SIGINT

C#、C++、WinAPI - 从另一个进程获取窗口数

如何使用 C++ 套接字编程同时向多个服务器发送数据?