請看網易站如何判斷一個用戶還是否在線(寫社區時的問題)
發表時間:2024-01-20 來源:明輝站整理相關軟件相關文章人氣:
[摘要]其實網易也是拿了國外的代碼來改了下就做了自己的攝取的。該代碼好象在國外的網站上有,可以找來看看就知道怎么會事了。 另外,網易判斷一個用戶在線與否,我想可以通過這樣的法子實現。 1、登錄的時候,把用戶信息記錄到一個表中。其中關鍵數據是當前登錄時間。同時得 到一 個用戶唯一標識的號碼。 2、網易的頁面...
其實網易也是拿了國外的代碼來改了下就做了自己的攝取的。該代碼好象在國外的網站上有,可以找來看看就知道怎么會事了。
另外,網易判斷一個用戶在線與否,我想可以通過這樣的法子實現。
1、登錄的時候,把用戶信息記錄到一個表中。其中關鍵數據是當前登錄時間。同時得
到一
個用戶唯一標識的號碼。
2、網易的頁面不斷地自動刷新。請注意頁面中的:
<meta http-equiv="Refresh"
content="20;url=http://club.netease.com:8888/xxxx">
其中,該url應該是一個專門用來進行身份驗證重新登記的地址。xxxx是和個人信息
相關
的一個字符串,就是上面說的用戶唯一標識號。每次刷新,其實就是修改表中的該用
戶的記
錄中的當前時間為現在的時間。
3、每次操作的時候需要驗證用戶身份。驗證用戶身份的過程應該是:
A、判斷此人是否用戶;
B、從當前在線表中取出在線人員列表,看此人是否在列表中。如果不在,那肯定是超
時。如果在,那操作繼續。如何判斷超時其實就是一個如何確定在線人員列表的問
題。假設
10分鐘超時,那么在線表其實就是所有符合條件:目前時間-上次登記時間<10分鐘
的所有
記錄。這個上次登記時間就是在刷新頁面的時候填寫的時間。
4、定時清空不在線人員的記錄,以保持該表的規模和提高檢索效率。