在多个页面上使用Socket.io的Node.js?

时间:2015-02-06 01:40:49

标签: node.js socket.io rabbitmq

我正在使用Node.js构建一个应用程序,该应用程序将有多个页面,并且将按如此设置:

  • Page1:默认主页
  • Page2:连接到RabbitMQ并获取数据,然后通过Socket.io将其推送到客户端。
  • 第3页:与Page2相同,只是它推送不同的数据并订阅RabbitMQ上的不同数据。

是否有可能让Page2订阅RabbitMQ并使用Socket.io,如果Page1没有?

Page2和Page3也会相互冲突,因为他们都使用socket.io和RabbitMQ吗?

我的RabbitMQ和Socket.io代码在一个独立的应用程序中工作,但我对如何在具有多个页面/路由的应用程序中执行此操作感到困惑。 (我使用Express进行路由。)

我对Node.js很新,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

解决了。正在考虑错误。

当NodeJ启动时(或第一个订户),系统应连接到RabbitMQ并在Socket.io上发出事件,而不管用户所在的页面如何。它是通过连接代码确定用户想要收听哪些主题的页面。这样,RabbitMQ代码只运行一个实例,服务器可以向任何感兴趣的人发出。这种方式没有冲突。