मूल रूप से, यह चीजें निम्नलिखित के रूप में काम करती हैं।
हर बार जब उपयोगकर्ता कार्रवाई करता है (चैट रीफ्रेश, संदेश भेजा गया, पृष्ठ देखा गया, आदि) उपयोगकर्ता से जुड़ा एक टोकन (टोकन जो आपके सर्वर में सहेजा गया है, उदाहरण के लिए डीबी) वर्तमान समय के साथ अपडेट किया जाता है।
| User ID | Last action |
-------------------------------------
| 14 (mark) | 2012-02-09-10:34:53 |
| 56 (phil) | 2012-02-09-09:12:34 |
| 9 (john) | 2012-02-09-10:33:11 |
और फिर आप तय करते हैं कि एक उपयोगकर्ता ऑनलाइन है अगर उसका टोकन बहुत पुराना नहीं है (5/10 मिनट?)
आप इस पद्धति में सुधार कर सकते हैं यदि आप AJAX का उपयोग हर 1 मिनट या उसके बाद सर्वर को आवधिक अनुरोध भेजने के लिए करते हैं। यह AJAX अनुरोध टोकन मान को अद्यतन करता है। तो, इस तरह, आप बता सकते हैं कि उपयोगकर्ता ऑनलाइन है, अगर वह पेज पर घूरने के अलावा कुछ नहीं करता है। और जब उसने छोड़ दिया (ब्राउज़र या टैब बंद करें), तो AJAX की आवधिक कॉल काम करना बंद कर देती है, इसलिए 5/10 मिनट के बाद उपयोगकर्ता को ऑफ़लाइन घोषित किया जाता है ।
शुभकामनाएँ!