2010-12-06
<%
Session.Timeout= 1 '設(shè)置網(wǎng)頁自動更新時間為10秒
IdleTime = Session.Timeout * 3 '設(shè)置閑置時間為自動更新時間的3倍
Application.Lock
'清點所有連線到此網(wǎng)頁的瀏覽器,然后將目前打開的瀏覽器的SessionID放入數(shù)組的后面
If Application(Session.SessionID & "LastAccessTime") = Empty Then
If Application("TotalUsers") = Empty Then Application("TotalUsers") = 0
ReDim Tmp(Application("TotalUsers") + 1)
Num = 0
If Application("TotalUsers") > 0 Then
For I = LBOUND(Application("OnlineUser")) To UBOUND(Application("OnlineUser"))
ID = Application("OnlineUser")(I)
If ID <> Session.SessionID Then
Tmp(Num) = ID
Num = Num + 1
End If
Next
End If
Tmp(Num) = Session.SessionID
Application("TotalUsers") = Num + 1
ReDim Preserve Tmp(Application("TotalUsers"))
Application("OnlineUser") = Tmp
End If
'記錄目前打開的瀏覽器的近存取時間
Application(Session.SessionID & "LastAccessTime") = Timer
'檢查所有連線到此網(wǎng)頁的瀏覽器的近存取時間,若與目前時間相差30秒以上,表示離線
ReDim Tmp(Application("TotalUsers"))
Num = 0
For I = 0 To Application("TotalUsers") - 1
ID = Application("OnlineUser")(I)
If (Timer - Application(ID & "LastAccessTime")) < IdleTime Then
Tmp(Num) = ID
Num = Num + 1
Else
Application(ID & "LastAccessTime") = Empty
End If
Next
'Num表示目前在線人數(shù),若與Application("TotalUsers")不同,表示中間有人離線
If Num <> Application("TotalUsers") Then
ReDim Preserve Tmp(Num)
Application("OnlineUser") = Tmp
Application("TotalUsers") = Num
End If
Application.UnLock
%>
">
目前在線人數(shù):<%= Application("TotalUsers")+17 %>