聊天室關鍵技術[用戶斷線]處理

在編聊天室時,處理用戶斷線是一個刺手的問題,特別是放到免費網站上,如果一味地靠global.asa,什麼時候觸發session_onend,application_onend,都是一個不確定的數字,在設計時,合理地安排會帶來意想不到的好處。     那麼有什麼最簡便辦法處理用戶斷線呢?    

      筆者經過試驗,有了以下的方法:    

    聊天室用N個application("user" & N)來保存用戶名,再用application("TimeBegin")來保存每個用戶的登錄時間,同時,在用戶登錄時用session("TimerBegin")保存登錄時間(timer),在發言區設定刷新時間爲N秒,每次刷新將session("TimeBegin")的時間更新,同時判斷timer - application("user"&session(userID)) 是否>N秒,如果是則說明該用戶沒有自動刷新,即意味着已經斷線,即可將該application("user"&N)設爲空值,再提示該用戶已退出即可。        

    部分代碼:    

     total = application("AllPeople")'聊天總人數          aryHuman = split(total,";")          for i = lbound(aryHuman) to ubound(aryHuman) - 1     if application("user" & i) = "online" then     if int(timer) - int(application("TimeBegin" & i)) > 120 then     application("user" & i) = ""     temp = aryHuman(i)     aryName = split(temp,",")     hrefname =  aryName(0)     for j = lbound(aryHuman) to ubound(aryHuman) - 1     if application("user" & j) = "online" then     application("content" & j) = "<FONT color=#000000>【公告】"&hrefname&"</FONT>" &"<font  color=#F08000 >"& "斷線..." & "</font><font color = #000000 class=p9>" & "   <" & time() & "></font><br>" & application ("content" & j)     end if     next     end if     end if

    next

 

但不要指望拿Application當數據庫用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章