Symfony 2 websockets

时间:2012-05-15 20:06:47

标签: php symfony websocket

我正在尝试使用websockets和Symfony 2创建聊天应用程序。给定聊天室的传入消息应该存储在MySQL数据库中,并且应该将传出消息发送给该聊天室的所有注册者。我正在考虑在后端使用这样的东西(使用Symfony 2) https://github.com/GulDmitry/php-websocket-server

这是前端的 http://socket.io/

我认为应该将所有用户添加到某种全局服务器数据结构中,该结构指定在更新聊天室时向谁发送消息。这样的结构在PHP中是否可行?它似乎不会,所以我不确定解决这个问题的最佳方法是什么。

1 个答案:

答案 0 :(得分:5)

是。 “服务器”通常是一个永远运行的单个php进程。您不希望它通过您的Web服务器运行,因此您可以从命令行启动套接字服务器,例如让它运行。使用该结构,您可以使用数组来存储所有用户。

最终,您可能希望运行多个实例。您可以通过内存,文件,数据库或其他形式的IPC进行多个脚本通信。因此,可以在任何单个套接字服务器进程之外维护该结构。但是,这些都是超出您问题范围的复杂情况。