两个服务器端Node.js应用程序的实时交互

两个服务器端Node.js应用程序的实时交互,node.js,socket.io,Node.js,Socket.io,我对socket.io有点了解,它支持客户端和服务器之间的实时双向通信,但我想为此在服务器上运行两个应用程序。我的意思是,我不希望用户从外部通过正在运行的端口进行访问。(仅限两个应用程序之间的实时通信) 情况是:一个应用程序应始终运行,一个应用程序在特定时间间隔执行 我不确定我是否表达了我的想法,但如果你能理解我的想法,我很感激你的指导。我不知道我如何才能做到这一点,因此问题就是“如何做到”?(需要提示)您可以轻松使用socket.io在两个服务器端应用程序之间进行通信。您只需在其中一个服务器端

我对socket.io有点了解,它支持客户端和服务器之间的实时双向通信,但我想为此在服务器上运行两个应用程序。我的意思是,我不希望用户从外部通过正在运行的端口进行访问。(仅限两个应用程序之间的实时通信)

情况是:一个应用程序应始终运行,一个应用程序在特定时间间隔执行


我不确定我是否表达了我的想法,但如果你能理解我的想法,我很感激你的指导。我不知道我如何才能做到这一点,因此问题就是“如何做到”?(需要提示)

您可以轻松使用socket.io在两个服务器端应用程序之间进行通信。您只需在其中一个服务器端应用程序上设置socket.io服务器,并使用非公共端口号即可。然后,在另一个服务器端应用程序上,使用
socket.io客户端
库连接到另一个服务器端应用程序,使用与浏览器相同类型的代码,但使用服务器端
require('socket.io客户端')
加载库

然后,您的两个应用程序将连接起来,您可以向任意方向自由发送socket.io消息


仅供参考,有许多不同的技术可用于在同一服务器上运行的两个应用程序之间进行通信。Socket.io与其他许多技术一样,可以很好地解决这一问题。

如果有必要缩小问题范围,请向我提问。服务器上有两个进程可以相互通信。这些进程是在同一台服务器上还是通过网络进行通信?你有什么特别的沟通方式吗?“就目前而言,你的问题相当广泛。”苏尼尔德说。两个应用程序(我指的是一个.js文件)位于同一台服务器上。我需要一个永远运行的应用程序(用来处理发出的事件)和另一个触发事件的应用程序(这个应用程序是手动执行的)。所以我认为你需要决定一种技术。Socket.io会的。发布/订阅解决方案(Redis等)也能很好地工作。虽然没有那么优雅,但从文件系统读取也能工作…@SunilD。我感谢你的评论。谢谢,谢谢@jfriend00。对于最后一部分,您是否可以向我推荐任何全面的文章?@revo-就我个人而言,我只会从您的子流程中使用socket.io或stdio(取决于具体要求),因为它们都是完全跨平台的,并且在node.js中可用。许多其他选项是平台变体。这里还有一篇文章讨论了Linux上的一些选项:以及关于以下主题的演示: