2012-09-27 29 views
0

例如,當我們在http://facebook.com或​​新的消息,現場給我們發送關於這一點,這事不刷新頁面。怎麼運行的?我想像這樣:的社交網絡,是如何打造「您有新的未讀消息」架構

一些Jhon是現場註冊用戶。

有一個JavaScript代碼,每10秒向消息表發送AJAX請求,用於檢查:在表中,有沒有未讀消息的約翰(架構,如何標記就緒/未讀消息,這裏不重要),如果是,網站向Jhon發出信號「你有幾條新消息」。

請告訴我,我接近真相還是不接近?如果是的話,我也有一個問題。

回答

1

在現代網站中,我們使用websockets,它使服務器能夠以較少的開銷和無延遲將信息推送到瀏覽器。這就是在SO上使用的。

但是作爲some browsers still don't support them,我們有時必須回到你描述的拉回路。

在服務器上,它可以用隊列來處理,而不是在每個瀏覽器請求時進行數據庫查詢。但是在這一點上可能有很多不同的實現。