将nodejs集成到现有应用程序

时间:2016-05-02 16:23:16

标签: javascript php node.js apache socket.io

我们正在制作一个小型的实时协作网络应用程序,到目前为止用js / php运行在apache上。对于协作和聊天部分,我们需要套接字,所以我们考虑将nodeJS与socket.io一起使用。

These two答案显示了如何将php / apache和nodeJS放在一起。 我的问题是:

  1. 如何在两台服务器之间来回发送消息? (我猜三,因为聊天部分需要一个自己的服务器。)cURL for php-> nodeJS; nodeJS-> php的ajax?
  2. nodeJS服务器如何为协作的多个实例(针对不同的当前运行的协作项目)/聊天(针对与“其他聊天室”中的每个人通信的不同人群)提供服务。 socket.io有一个聊天程序example,但它是一个单页应用程序。
  3. 我不需要复杂的逐步解答,但我不知道比准系统nodeJS应用程序更复杂,并且目前我完全失去了。

1 个答案:

答案 0 :(得分:1)

  1. 根据我使用redis(redis的pub / sub部分)之类的'message-broker'的经验,可以很好地让服务器相互“通信”。 您可以查看http://redis.js.org/#api-publish-subscribe
  2. Socket.io确实支持使用内置房间设置不同的群组/聊天/项目,请点击此处:http://socket.io/docs/rooms-and-namespaces/#rooms 我建议对group-${group.id}g-${group.id}这样的会议室使用一致的命名。
  3. 额外注意:socket.io支持使用redis作为超出1 nodejs实例的平均值,请参阅socket.io-redis npm包。