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