2011-08-29 111 views
0

我記得一個類似聊天的頁面,它列出了在線用戶,他們可以聊天,什麼都沒有。我一直在看這裏的各種問題和網上關於跟蹤在線用戶的文章。有人說,如果當前時間和上次看到時間之間的差異大於某個數字,則每個頁面都會更新上次顯示的時間並使其顯示爲離線。其他人則表示每隔幾分鐘就會發一次。會話結束時的PHP事件?

我想知道的是,如果您可以在php會話結束時設置事件,以便我可以讓它們在會話開始時在線顯示並在結束時離線顯示。我假設,因爲我看沒有看到任何關於它的事情,那沒有辦法,那麼做這件事的最好方法是什麼?

回答

3

你不能依賴於php會話。 Php會話不會在用戶關閉瀏覽器時立即死掉。甚至更多 - 服務器端(特別是PHP及其會話引擎)不知道用戶關閉瀏覽器(並且要明確,即使在用戶家中的電力故障情況下也不能被捕獲)。

所以 - 實現ping或最新活動功能。

+0

這將使用多少帶寬? 編輯:在他們身邊 – mowwwalker

+0

@ user828584:執行它,看看?這將需要幾百個字節的請求,並且相同的響應 – zerkms

+0

當它不再被ping通時,我將如何將它們設置爲離線狀態? – mowwwalker