%@LANGUAGE="VBSCRIPT"%> <% Dim RefreshTime, IdleTime, TotalUsers, OnlineUser(), Tmp(), Num, I, ID RefreshTime = 10 '設定網頁自動更新時間為10秒 IdleTime = RefreshTime * 3 '設定閒置時間為自動更新時間的3倍 Application.Lock 'OnlineUser陣列記錄了所有連線到此網頁之瀏覽器的SessionID '清點所有連線到此網頁的瀏覽器, 然後將目前開啟之瀏覽器的SessionID放入陣列的最後 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 '檢查所有連線到此網頁之瀏覽器的最近存取時間, 若與目前時間相差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表示目前線上人數, 若與Application("TotalUsers")不同, 表示中間有人斷線 If Num <> Application("TotalUsers") Then ReDim Preserve Tmp(Num) Application("OnlineUser") = Tmp Application("TotalUsers") = Num End If Application.UnLock %>
|
|||||||
|
| ©2004 SAN HUEI UNITED CO., LTD. All rights reserved.............. |