drupal或joomla是否允许使用php组合node.js和socket.io?

我正在研究一个网站的开发,套接字使用是实时更新的必要条件。 我明白与wordpress很难合并node.js和socket.io,并想知道是否这是与Drupal的情况。 具体来说,我可以结合node.js和socket.io与PHP? 我需要采取哪些具体步骤? 我感谢你的帮助,当然,如果你给我一个很好的答案,我会评价你。

目前有连接到Drupal,Joomla和WordPress的Node.js模块。 我写了一个Joomla: https : //github.com/jlleblanc/nodejs-joomla你可以通过NPMfind所有这些。 首先,您可以下载其中一个模块,然后您也可以下载Socket.io模块。 然后你可以编写连接CMS到Socket.io的服务器端代码。 最后,您将编写客户端代码来与在Node中运行的套接字进行通信。

你可以把它分开,因为你需要一些与node.js的客户端 – 服务器通信,你可以在Drupal之外(这是最简单,最清洁的方式)。

您使用的CMS(无论是Drupal还是Wordpress)不会限制您的JavaScript使用socket.io和node.js进行您想在CMS服务器端代码之外进行的调用。 你可以例如。 阅读Drupal / WordPress的相同数据库,但使用Node.js并直接返回结果到客户端JavaScript脚本。

您可以将Socket.IO与您喜欢的任何技术整合在一起,但是您需要将它们视为需要通信的两个独立部分。

我看到两个解决scheme的Socket.IO与外部服务(Drupal,Joomla,Wordpress等)进行通信:

1)为您的Socket.IO应用程序创build一个rest API(例如,使用Express作为API层,然后使用EventEmitter将消息传递给Socket.IO)。

2)我认为更好的解决scheme是使用像Redis,RabbitMQ或ZeroMQ的消息队列。 Drupal网站会把这个信息发送到Socket.IO,然后Socket.IO会把这个信息发送给客户端。

如果你正在创build一个需要身份validation的系统,我build议你不要让你的用户直接用Socket.IO发送消息,而是把Ajax调用到你的主服务器(Drupal for ex。)。 这样你可以更容易地检查用户的身份。 (这种情况适合需要authentication的基于聊天的系统)

虽然这个video教程是与Faye EventMachine,相同的逻辑可以适用于您的应用程序: http ://railscasts.com/episodes/260-messaging-with-faye