可以将Nodejs与Cakephp集成吗?

Igo*_*ins 7 cakephp node.js

我想实时监控用户在comments表格中输入的数据.我运行了一个Apache服务器,并假设在端口1337上有一个节点服务器.

每次有人保存新数据时我该如何做到这一点,例如,返回表格行的总数comment并将其显示在view

也许方法是$this->Comment->save($this->request->data);使用Httpsockect使用不同的端口?

Gui*_*lla 9

对的,这是可能的.

你有多种解决方法,让我给你我的想法

您可以简单地使用长轮询,并且根本不使用Node.js. 如果那里没有太多的流量,这是一个合适的解决方案,否则你将有一个糟糕的时间.

您可以使用websockets,根本不使用Node.js. 这里有一个关于websockets和PHP的基本指南.虽然,我几乎可以肯定你将无法创建"房间",即发送特定评论的通知.

你也可以使用Ratchet.这是一个处理websockets的更复杂的库,它支持房间.

最后,如果你想全面深入了解 Node.js和CakePHP,我建议先看看Cakefest 2012上的这个讲话,它准确地描述了你的场景.

看完之后,你可能想了解一下Socket.io.这是一个更复杂的解决方案,但它是我在使用CakePHP和Node.js创建实时应用程序时所使用的.

这里的策略是让用户在访问/ article/view/123时加入一个房间,假设房间名称是articleID,那么socket.io将监听这个房间里发生的事件.

你将有一个处理保存的Cakephp方法.然后,当用户提交表单时,你不直接调用Cake动作,你有socket.io来调度一个事件,然后在你的事件中你将数据传递给服务器(Node.js),nodejs将调用你的cakephp函数保存数据.当Nodejs收到CakePHP的确认后,你广播一个事件(使用socket.io),这个事件将让所有连接到那个房间的用户知道已发表评论.

  • 1年后:http://www.slideshare.net/gmansilla1/behind-the-scenes-of-realtime-notifications (3认同)