2012-12-10 39 views
0

我需要最好的辦法,找出有多少人與長輪詢方法在線。如何找出多長時間輪詢方式的在線用戶?

爲什麼我需要長輪詢方法來獲取?

我需要知道有多少人在我的網站在線。當然,我可以做到這一點與一些查詢和更新它在我的網站每頁加載,但我認爲沒有辦法在聊天室中使用這種方法?

`lastvisit` >= DATE_SUB(now(), INTERVAL 5 MINUTE) 

這方面的任何解決辦法嗎?如果我能獲得與沒有服務器輪詢我很欣賞你,指引我正確的方向

+0

在任何時候都可能有數十億人上網,那麼祝你好運? – adeneo

+0

@adeneo然後facebook如何找到用戶是否在線?他使用這種方法,他是好運嗎?我知道他使用他的數據中心來完成這項工作,但是當應用程序不斷增長時,我可以增加servers.now你提供什麼有多少人在線? – HiDd3N

+0

一個這樣的系統中最困難的部分是考慮到用戶可能只是讀,不執行任何操作,或用戶可能已在網站天前離開,只是did'nt關閉瀏覽器選項卡。你應該有其中IP不會忽略存儲系統,作爲單獨的會話是不是很準確,並在一定時間後,用戶會自動註銷,以避免誰are'nt真正在線的用戶,但誰did'nt關閉瀏覽器從計數。在這個[** SO問題**](http://stackoverflow.com/questions/4073311/detect-online-users) – adeneo

回答

0

如果您使用長輪詢,那麼用戶的數量將積極connectons的調查處理程序的數量 - 即連接總數少那些其他URL - 這是微不足道的由mod_status提供的輸出中提取,但是你沒有告訴我們您正在使用的服務器。但是,如果是我,我只需使用數據庫綁定會話處理程序並從那裏計算當前會話(但使用文件或內存限制會話處理程序也可以這樣做)。

由於相對於進入的請求數量而言,數量的變化可能很小,所以可以根據預定作業或通過比較隨機數與閾值而不是收集每個請求來收集。

+0

有一些很好的建議,然後計算會話是我得到多少在線用戶的最佳途徑if他們聊天或做在我的網站 – HiDd3N

+0

我不需要數搜索或其它功能,但我想知道誰在線,誰不是 – HiDd3N