Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 是否可以将Nodejs与Cakephp集成?_Node.js_Cakephp - Fatal编程技术网

Node.js 是否可以将Nodejs与Cakephp集成?

Node.js 是否可以将Nodejs与Cakephp集成?,node.js,cakephp,Node.js,Cakephp,我想实时监控用户在注释表中输入的数据。 我有一个Apache服务器正在运行,假设它在端口1337上有一个节点服务器 每次有人保存新数据时,我将如何执行此操作,例如返回注释中的表行总数,并在视图中显示它? 也许方法是让$this->Comment->save($this->request->data)使用不同的端口使用 您基本上可以在WebSocket和长轮询之间进行选择 WebSocket(带和) 长轮询使用 决定要使用哪种技术并开始实施您的用例。认为WebSoo窝或多或少是新的。根据您的需

我想实时监控用户在
注释
表中输入的数据。 我有一个Apache服务器正在运行,假设它在端口1337上有一个节点服务器

每次有人保存新数据时,我将如何执行此操作,例如返回
注释中的表行总数,并在
视图中显示它?


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

您基本上可以在WebSocket和长轮询之间进行选择

  • WebSocket(带和)
  • 长轮询使用
决定要使用哪种技术并开始实施您的用例。认为WebSoo窝或多或少是新的。根据您的需求,您可能无法使用WebSocket,因为您可能必须支持蹩脚的浏览器

是的,这是可能的

你有多种方法解决这个问题,让我给你我的想法

您可以简单地使用长轮询,而不使用Node.js。这是一个合适的解决方案,如果那里不会有太多的交通,否则你会有一个糟糕的时间

您可以使用WebSocket,而不使用Node.js。尽管如此,我几乎可以肯定您将无法创建“房间”,即发送特定评论的通知

您也可以使用。这是一个处理WebSocket的更复杂的库,它支持文件室

最后,如果您想全面了解Node.js和CakePHP,我建议您从哪一个开始准确描述您的场景

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

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


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

我认为Nodejs对于您的任务来说不是一个好的解决方案,安装Nodejs并仅使用websocket进行评论有点过分。longpolling更适合这种任务,您可以使用php实现这一点,而无需付出太多的努力。谢谢,我搜索什么来实现这一点?Thaaankss!!!你能举一个小例子来说明你最后的答案吗?调用socket.io和socket.io调用我的函数?我会的,可能会在一篇博客文章中,因为涉及到很多代码。1年后:@GuillemoMansilla非常感谢你的幻灯片。这需要更多的曝光:DRatchet似乎支持IE8+