2012-09-07 51 views
0

可能重複:
How to make a real time 「User is typing」 notice to all in chatPHP的jQuery聊天 - 用戶輸入功能

我開發PHP MySQL的jQuery的/ Ajax的聊天,並試圖用一些花哨的功能,如鑲嵌它用戶正在鍵入...消息

我發現很多主題的用戶描述如何提出請求通知服務器用戶輸入消息,但這不是問題。我需要下一步的幫助:) 如何使用服務器從客戶端到客戶端進行isTyping變量的「切換」?我想盡量避免存儲它,因爲它可以用不必要的數據壓倒數據庫引擎。有什麼方法可以使用服務器RAM嗎?這些數據並不重要,所以丟失的可能性並不大。 Memcached也是一種選擇,但不推薦。

TNX提前

回答

3

PHP/MySQL是不發展在我看來交談的好堆棧。

這是因爲這樣的堆棧是無國籍,並且無法跟蹤用戶活動:好它實際上,利用會話和數據庫,但是這意味着繼續以檢索狀態的變化輪詢來自客戶端,這意味着:

  • 有沒有新消息對我?
  • 嘿,有沒有新消息給我?
  • 善待,告訴我是否有任何消息給我。

的最好的方法是用socket.io超過node.js去:長話短說,你有一個持久連接[使用的WebSockets,長輪詢和這樣tecniques]客戶端和服務器之間,以及它成爲事件偵聽器的簡單設置應用程序的所有方面。

You can find a live example here