<%
' ASP 即時線上人數與名單統計
' 適用系統 : Microsoft IIS、PWS
' http:// ... /list.asp?User=jennson
'
' 本 ASP 檔名預設為 list.asp,但是可以任意更改主檔名,使用者只需依
' 需要更改 ... 標籤中的內容即可,另外,程式中提供下列
' 參數供使用者自行設定,如下:
' -------------- 使用者設定值 ---------------
RefreshTime = 14400 '每幾秒更新一次
' -------------------------------------------
Dim Temp()
If Request("User") = "jennson" Then
Response.Write "User 參數沒有設定 !!"
Response.End
End If
NewUser = Request.ServerVariables("REMOTE_HOST")
Application.Lock
If Application(NewUser & "LastAccess") = Empty Then
If Application("TotalUsers") = Empty Then Application("TotalUsers") = 0
Redim Temp(Application("TotalUsers") + 1)
No = 0
For I = 0 To Application("TotalUsers") - 1
Item = Application("OnLineUser")(I)
If Item <> Session("UserName") And Item <> NewUser Then
Temp(No) = Item
No = No + 1
Else
Application(Item & "LastAccess") = Empty
End If
Next
Session("UserName") = NewUser
Temp(No) = Session("UserName")
Application("TotalUsers") = No + 1
Redim Preserve Temp(Application("TotalUsers"))
Application("OnLineUser") = Temp
End If
Application(Session("UserName") & "LastAccess") = Timer
If RefreshTime < 10 Then RefreshTime = 10
IdleTime = RefreshTime * 3
ReDim Temp(Application("TotalUsers"))
No = 0
For I = 0 To Application("TotalUsers") - 1
Item = Application("OnLineUser")(I)
If Abs(Application(Item & "LastAccess") - Timer) < IdleTime Then
Temp(No) = Item
No = No + 1
Else
Application(Item & "LastAccess") = Empty
End If
Next
If No <> Application("TotalUsers") Then
Redim Preserve Temp(No)
Application("OnLineUser") = Temp
Application("TotalUsers") = No
End If
OnLineUser = Application("OnLineUser")
TotalUsers = Application("TotalUsers")
Application.UnLock
%>
計<% Counter() %>
|