如何在不請求數據庫的情況下獲取客戶端的信息?Symfony異步數據流的可能性
該示例將是一個簡單的聊天應用程序。兩個客戶端登錄到流,如聊天室。一個填寫表單,通過ajax向數據庫發送信息。另一個人不需要請求,就像從數據庫中的事件監聽器中推送一樣。
這可能嗎?
非常感謝。
如何在不請求數據庫的情況下獲取客戶端的信息?Symfony異步數據流的可能性
該示例將是一個簡單的聊天應用程序。兩個客戶端登錄到流,如聊天室。一個填寫表單,通過ajax向數據庫發送信息。另一個人不需要請求,就像從數據庫中的事件監聽器中推送一樣。
這可能嗎?
非常感謝。
HTTP層不支持您希望完成的任務。你可以在this Stackoverflow page找到更多關於這方面的信息。
您可能想要使用node.js和socket.io。您也可以嘗試關於creating a chat system with node.js and socket.io的本教程。
可以用類似於nodejs的方式來實現PHP的非阻塞I/O。請參閱:http://reactphp.org/
如果您只是想製作一個實時聊天應用程序,我仍然會說PHP可能不是正確的工具。這是nodejs擅長的。
您可以像Node.js一樣在服務器中傳遞內存中的信息。
聊天消息將使用AJAX POST上傳,並通過活動的SSE連接分發給其他客戶端(您必須跟蹤它們,例如在數組中)。
但是,沒有數據庫,你沒有消息的持久性。如果在客戶端斷開連接時丟失消息是可以的,那麼也可以,但在聊天的情況下,用戶可能希望收到在脫機時發送的消息積壓。