【问题标题】:Does drupal or joomla allow a combination node.js and socket.io with php?drupal 或 joomla 是否允许将 node.js 和 socket.io 与 php 结合使用?
【发布时间】:2012-05-29 13:41:53
【问题描述】:

我正在研究开发一个必须使用套接字进行实时更新的网站。我理解 wordpress 很难合并 node.js 和 socket.io,我想知道 drupal 是否就是这种情况。 我可以将 node.js 和 socket.io 与 php 合并吗?我需要采取哪些具体步骤?感谢您的帮助,当然,如果您给我一个好的答案,我会给您打分。

【问题讨论】:

    标签: php drupal node.js joomla socket.io


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      我看到 Socket.IO 与外部服务(Drupal、Joomla、Wordpress 等)通信的 2 个解决方案:

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

      2) 我认为更好的解决方案是使用 Redis、RabbitMQ 或 ZeroMQ 等消息队列。 Drupal 网站会通过通道向 Socket.IO 发送消息,然后 Socket.IO 会将该消息发送给客户端。

      如果您正在创建一个还需要身份验证的系统,我建议您不要让您的用户直接使用 Socket.IO 发送消息,而是对您的主服务器进行 Ajax 调用(例如 Drupal)。这样您就可以更轻松地检查用户的身份。 (这种情况适合需要身份验证的基于聊天的系统)

      虽然此视频教程适用于带有 Faye 的 EventMachine,但同样的逻辑也适用于您的应用:http://railscasts.com/episodes/260-messaging-with-faye

      【讨论】:

        【解决方案3】:

        您可以将其分开,并且由于您希望与 node.js 进行一些客户端-服务器通信,您可以在 Drupal 之外拥有它(这是最简单和最干净的方式)。

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

        【讨论】:

          猜你喜欢
          • 2015-06-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-30
          • 1970-01-01
          • 2013-04-21
          • 1970-01-01
          相关资源
          最近更新 更多