我希望我的網站具有聊天/羣聊功能。網站使用php/mysql構建。聊天應用程序 - 最佳方式
我已經實現了客戶端聊天屏幕。我對JavaScript/jQuery和AJAX相當不錯。 當用戶輸入消息時,它將使用AJAX調用保存到數據庫。當服務器響應成功時,我會更新聊天窗口,並與剛剛輸入的消息用戶聊天。
現在問題在這裏。 假設兩個人A和B正在聊天。 A輸入一條消息,它被保存到數據庫中並且聊天窗口被更新。 現在,B怎麼會知道A發了一條消息。
解決方案我能想到的是B需要在1或2秒後連續「輪詢」服務器。但由於某種原因,我不認爲這是正確/最好的方法。
「輪詢」服務器是一種最佳方式還是存在某種我不知道的其他方法?
我準備在其他一些語言/技術中實現這個(聊天應用程序),唯一的事情是它應該在我的PHP網站上工作。
我只是想知道什麼是設計我的PHP網站這個聊天應用程序的最佳方式。
P.S.請不要建議任何第三方聊天庫。我準備好編寫它所需的任何代碼來構建它。
開放源代碼庫的優點之一是您可以閱讀他們的代碼以從中學習。雖然由於某種原因你不想使用第三方聊天庫,但你一定要看看它們是如何工作的。 – derobert
它不必每隔1-2秒。如果聊天是「新鮮的」,則將「輪詢」設置爲短時間段,並且使得時間段作爲空閒時間的函數變長。例如,在最後一條消息之後每隔3-5秒刷新一次聊天窗口,如果空閒,則刷新速率爲30秒,等等...... –
順便說一句,您希望編寫自己的腳本太棒了!這就是爲什麼我不使用jQuery =)+1! –