Symfony 2 websockets

Cap*_*ggz 5 php websocket symfony

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

这对于前端 http://socket.io/

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

goa*_*oat 5

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

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