2011-04-05 63 views
0

我正在做的隨機聊天像http://www.omegle.com/爲樂趣。這裏是怎麼回事:隨機聊天用php/mysql/jQuery

人登錄,他的ID插入seaching_chat表。他按下「搜索」按鈕,如果有其他人在searching_chat,我們連接它們並從seaching_chat表中刪除信息。如果表中沒有人,我們使用javascript並且每隔10秒鐘檢查一次mysql數據庫以確定是否有人進入。

那麼,它是做這種事情的最有效方式嗎?任何建議,想法?

回答

2

的WebSockets和是的NodeJS瘋狂困難和一些容易這樣太全面。長時間的拉動確實是一個好主意(最簡單,最好的選擇)。一個簡單的,關閉的要求,每2秒或5秒沒有任何費用要麼,因爲總是隻有1人在等待/發射這些請求。 2人 - >連接。 3人 - > 2人連接,1人等待。 etc

1

這聽起來像一個合理的解決方案,但不使匹配的用戶等待長達10秒他們與其他用戶連接後,你可能想看看在做一個「大口」之前在阿賈克斯連接到你的服務器端登錄check腳本會保持打開狀態,直到另一個用戶登錄...然後你的服務器腳本最後用適當的負載響應,讓用戶的javascript知道重定向到聊天室。

你也可以做到這一點使用WebSockets,這可能會是一個偉大的技術立足,如果你希望它是高度敏感的聊天室......但瀏覽器的支持,現在是有點弱。

0

是的,我認爲WebSockets是這樣做的方式。看看node.jssocket.io。 Socket.io提供了一個很好的方法來做WebSockets,甚至支持舊版瀏覽器。