2010-01-15 54 views
5

我對meebo,facebook和myspace等即時消息傳遞的一種非常好的方式感興趣,也可以在頁面上進行通知。在我的網站上的示例中,當用戶收到新郵件消息,照片評論,個人資料評論,好友請求以及其他一些內容時,他們會收到一條通知消息並鏈接到他們使用jQuery和AJAX的頁面上。在網頁上顯示通知和消息的最佳方式?

我認爲這不是最好的方法,但我的jQuery代碼必須基本上每運行一次PHP腳本來查詢mysql表,每隔30秒左右查詢每個擁有該頁的用戶打開此腳本運行。如果我能找到一種有效的方式,我想最終在屏幕底部的聊天欄中添加某種類似即時消息的即時消息。

我聽說過Comet和HTML5 WebSockets這些術語,但我不確定這些解決方案是否應該針對這種功能?我希望將帶寬保持在最低限度,並且在高流量站點上每隔幾秒運行一次查詢似乎效率不高。

如果你知道一些好的解決辦法,請解釋他們是如何工作的一點點請

回答

1

我認爲Facebook使用XMPP爲他們的聊天記錄,所以看看它。

XMPP是

一個開放的技術進行實時通信,其權力範圍廣泛的應用,包括即時消息,狀態,多方聊天,語音和視頻通話,協作,輕量級中間件,內容聯合和XML數據的通用路由。

你會安裝一個separate server處理信息和你的應用,您需要實現一個客戶端可用libraries之一。

1

你可以有一個AJAX可以查詢共享的消息隊列?也許它是一個php腳本,它將大部分消息存儲在memcached中(並且可能在發生故障時寫入db)。

不知道,但好奇地聽到其他的解決方案......

2

您正在尋找一個「彗星」服務器。既然你在談論PHP,你最好的解決方案就是一個SaaS解決方案,比如WebSync On-Demand,因爲當涉及到大量併發連接的時候,PHP在擴展方面有問題。另見this question

0

基本問題是你需要實現一個Comet服務器(即實現Server Push)。標準的Web主機和Apache不容易讓你輕鬆做到這一點。另一個託管解決方案(除了Web Sync)是Goldfish Server。目前免費。

相關問題