聊天室關鍵技術-使用者斷線處理 (轉)

worldblog發表於2007-12-05
聊天室關鍵技術-使用者斷線處理 (轉)[@more@]室關鍵技術-斷線處理     作者:楊過大俠
轉自: .com

   在編聊天室時,處理使用者斷線是一個刺手的問題,特別是放到免費網站上,如果一味地靠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) = "【公告】"&hrefname&"" &""& "斷線..." & "" & "  
" & application("content" & j)
   end if
   next
   end if
   end if
   next


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-988720/,如需轉載,請註明出處,否則將追究法律責任。

相關文章