1. 在線人數(shù)統(tǒng)計代碼(統(tǒng)計即時在線人數(shù))

      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 %>