我正在做的隨機聊天像http://www.omegle.com/爲樂趣。這裏是怎麼回事:隨機聊天用php/mysql/jQuery
人登錄,他的ID插入seaching_chat
表。他按下「搜索」按鈕,如果有其他人在searching_chat
,我們連接它們並從seaching_chat
表中刪除信息。如果表中沒有人,我們使用javascript並且每隔10秒鐘檢查一次mysql數據庫以確定是否有人進入。
那麼,它是做這種事情的最有效方式嗎?任何建議,想法?
我正在做的隨機聊天像http://www.omegle.com/爲樂趣。這裏是怎麼回事:隨機聊天用php/mysql/jQuery
人登錄,他的ID插入seaching_chat
表。他按下「搜索」按鈕,如果有其他人在searching_chat
,我們連接它們並從seaching_chat
表中刪除信息。如果表中沒有人,我們使用javascript並且每隔10秒鐘檢查一次mysql數據庫以確定是否有人進入。
那麼,它是做這種事情的最有效方式嗎?任何建議,想法?
的WebSockets和是的NodeJS瘋狂困難和一些容易這樣太全面。長時間的拉動確實是一個好主意(最簡單,最好的選擇)。一個簡單的,關閉的要求,每2秒或5秒沒有任何費用要麼,因爲總是隻有1人在等待/發射這些請求。 2人 - >連接。 3人 - > 2人連接,1人等待。 etc
這聽起來像一個合理的解決方案,但不使匹配的用戶等待長達10秒他們與其他用戶連接後,你可能想看看在做一個「大口」之前在阿賈克斯連接到你的服務器端登錄check腳本會保持打開狀態,直到另一個用戶登錄...然後你的服務器腳本最後用適當的負載響應,讓用戶的javascript知道重定向到聊天室。
你也可以做到這一點使用WebSockets,這可能會是一個偉大的技術立足,如果你希望它是高度敏感的聊天室......但瀏覽器的支持,現在是有點弱。