【问题标题】:Send data to nodejs process向nodejs进程发送数据
【发布时间】:2016-04-11 07:09:46
【问题描述】:

我想让 nodejs 应用程序运行并接收不同的事件 (A) 基本上,我想将数据从另一个 nodejs 应用程序发送到 A 和 A 以捕获它并 console.log 它

但我不想使用 process.fork,我不想从 A 内部运行其他应用程序。我只想让它们向进程 A 发送数据。

我一直在搜索谷歌,但没有运气。我发现类似 echo xxx > /proc/7417/fd/0 的东西可以将数据发送到标准输入,但我想发送 jsons。

任何想法如何完成这个?

【问题讨论】:

  • 你打算在两个 nodejs 应用程序之间进行通信吗?
  • 使用集群模块怎么样?
  • 两个或更多。所有其他 nodejs 应用程序将数据发送到 A
  • 服务器/客户端或点对点呢
  • 为什么不以 json 格式发送数据?

标签: node.js


【解决方案1】:

我认为您说的是 IPC 方法,例如传统上用于信号编程的方法。事件是一种处理正在运行的服务的信号和实现 API 的便捷方式。

这里有一些资源; 事件的 Node.js 文档:https://nodejs.org/api/events.html

事件:http://www.sitepoint.com/nodejs-events-and-eventemitter/

【讨论】:

    【解决方案2】:

    无需使用“net”模块进行低级编程,您可以使用socket.io library 轻松实现您需要的跨进程通信。了解他们的网站并加入 slack 小组以获取帮助。

    简而言之: 您可能希望一个进程成为主进程(这是实现 imo 的最简单的网络架构),它将运行通信集线器,然后使用 socket.io-client 建立与其他进程的连接并开始以任何形式交换数据你需要。

    socket.io api 非常容易获得,所以我相信你不会有任何问题,他们的文档有时看起来有点稀缺,而且一些有用的“幕后”怪癖不是在那里讨论过,这就是为什么我建议你加入他们的 slack 小组,并在遇到问题时询问。

    干杯

    编辑: 转念一想:

    • 使用redis pub-sub
    • 看着 jas- answer 让我想起了专门为此目的而制作的 node-ipc 模块。

    享受:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多