【问题标题】:Symfony asynchronous stream possibilitiesSymfony 异步流的可能性
【发布时间】:2013-03-22 22:57:29
【问题描述】:

如何在不请求数据库的情况下获取客户端的信息?

这个例子是一个简单的聊天应用程序。两个客户端登录到一个流,比如聊天室。填写表格,通过 ajax 将信息发送到数据库。另一个无需请求即可获得它,例如从数据库中的事件侦听器推送。

这可能吗?

非常感谢。

【问题讨论】:

    标签: php asynchronous stream server-sent-events


    【解决方案1】:

    使用 PHP 实现非阻塞 I/O 是可能的,类似于 nodejs。见:http://reactphp.org/

    如果您只是想制作一个实时聊天应用程序,我仍然会说 PHP 可能不是适合这项工作的工具。这是nodejs擅长的。

    【讨论】:

      【解决方案2】:

      HTTP 层不支持您希望完成的任务。您可以在this Stackoverflow page 中找到更多相关信息。

      您可能想要使用node.jssocket.io。你也可以试试这个关于creating a chat system with node.js and socket.io的教程。

      【讨论】:

        【解决方案3】:

        您可以在像 Node.js 这样的服务器中传递内存中的信息。

        聊天消息将使用 AJAX POST 上传并通过活动的 SSE 连接分发给其他客户端(您必须跟踪它们,例如在数组中)。

        但是,如果没有数据库,您就没有消息的持久性。如果在客户端断开连接时丢失消息是可以接受的,那很好,但在聊天的情况下,用户可能希望在离线时收到积压的消息。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-07-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多