2016-05-31 60 views
1

使用CakePHP,我想在服务器(CakePHP)和客户端(浏览器)之间建立双向连接以实现实时数据交换(例如聊天)。CakePHP和套接字

因此我不想让页面重新加载每次我发射一条消息。

根据我的理解,这是要么使用AJAX,这是不建议聊天,或通过WebSocket。

但是,我无法找到如何建立这样的连接。 CakePHP文档中的一章提到了HTTPClients,但不幸的是这并不是我想要的。

但是,我发现这个基于Socket的库称为棘齿: http://socketo.me/docs/flow 有人曾试图建立任何类似的东西吗? 我甚至不知道如何将此Socket集成到我的CakePHP项目中。

回答

0

您的问题有所有答案。无论是长轮询还是websockets。您可以使用ratchetreactPHP。 要将其包含在cakePHP中,您可能需要使用像this这样的插件。

0

我已经成功地用php thruway构建了一个独立的实时应用程序,虽然我还没有尝试过cakePHP。无论如何,thruway可以通过作曲家安装,所以它应该到你的cakePHP的根文件夹中的各个供应商文件夹,然后它可以被命名空间,并可能从控制器的动作等调用Client.php ... thruway的路由器必须运行(之前)作为单独执行。

https://github.com/voryx/Thruway

还要检查AutobahnJS,因为它遵循的pub/sub模式一样高速公路的。

祝你好运。