2
我想開發一個使用Websockets(棘輪)的聊天系統。到現在爲止,我已經制作了一個功能強大的基於PHP的Websocket服務器,它能夠使用以下方法回覆預定義的JSON編碼消息。棘輪Websocket推集成
function onMessage(ConnectionInterface $from, $msg){ ... }
的問題是,我想通過後臺工作/線程從後端數據庫郵件推送到正確的客戶端,如果東西在我的表改變。這可能使用PHP?
我不希望客戶端每隔5分鐘要求websocket服務器刷新其狀態,如下所示。
{"action":"giveMeUpdates"}
但web服務器應該能夠做這樣的事情:
{"status":"newMessages", "messagelist":[...]}
另外:
class Chat extends ChatActionHandler implements MessageComponentInterface { ... }
這是我的課,其中ChatActionHandler擁有的功能與客戶端請求交互。使用MessageComponentInterface,我只能回覆Socket事件,如function onOpen(ConnectionInterface $conn)
。它是由RatchetIO服務器拼命地跑:
$server = IoServer::factory(
new Chat(),
8080);
$server->run();
的MessageComponentInterface不持有這樣的功能。你的意思是\ React \ EventLoop \ LoopInterface?我想我可能需要在Chat類的構造函數中的某處首先實例化它? – Piter1700
@ Piter1700看到這個。 https://github.com/ratchetphp/Ratchet/issues/171 – Grey