我有 2 个软件组件,我想互相交谈,
- 一个 node.js 网络应用程序
- 一个用 C 编写的专用服务器(一段相当简单的代码,它处理一些我不想为其他语言包装的晦涩库)
我想要的对话很简单,
- 节点:设置资源 ID A
- C 应用程序:好的,这是参考编号
或者
- 节点:取下这个 ref
- C app:当然,伙计。
是否有任何轻松的方式在 2 之间传递消息?
我目前的理论想法是这样的:
- 在 2 个进程之间有 1 个 tcp/unix 套接字,1 个会话只是为了避免一直打开和关闭会话(也担心一次会太多)。
- 每个匹配的节点请求和 C 应用程序响应都具有相同的 ID(单个 tcp 会话上的 tcp-esque 会话)
- 每个相关节点请求都会向 C 应用程序生成消息,将响应对象存储在以会话 ID 作为键的某个散列中。
- 有一个单节点线程来收集 C 应用程序回复,通过会话 id 查找响应对象并响应客户端
是不是非常低效?
节点中实际上有线程支持吗?(一个简短的谷歌没有带来任何具体的结果)