2012-05-15 41 views
4

我正在嘗試使用websockets和Symfony 2創建聊天應用程序。給定聊天室的傳入消息應該存儲在MySQL數據庫中,並且應該將外發消息發送給該聊天室的所有註冊人。我想使用像這樣的後端(與Symfony的2) https://github.com/GulDmitry/php-websocket-serverSymfony 2 websockets

而這種針對前端 http://socket.io/

我想所有用戶都應該加入某種全局服務器數據結構它指定在更新聊天室時向誰發送消息。 PHP中有這樣的結構嗎?它似乎不會,所以我不確定解決這個問題的最佳方法是什麼。

回答

4

是的。 「服務器」通常是一個單一的PHP進程永遠運行。你不希望它通過你的網絡服務器運行,所以你會從命令行啓動套接字服務器,並讓它運行。通過這種結構,您可以使用數組來存儲所有用戶。

最終,您可能希望運行多個實例。您可以讓多個腳本通過內存,文件,數據庫或其他形式的IPC進行通信。所以,可以在任何單個套接字服務器進程之外維護該結構。但是,這些超出了你的問題範圍。

+1

謝謝。我想我會安裝一個node.js服務器並使用它將客戶端的信息傳遞給我的PHP服務器。 – CaptainStiggz