asp中统计在线人数

来源:百度知道 编辑:UC知道 时间:2024/05/15 07:07:14
我现在想统计在线人数,我看到好多的资料是根据session来统计的,但是如果我想统计的是在线访问者的数量,既没有登陆过的,只要访问了网站就统计,要怎么统计啊?请给出全部代码以及调用代码,谢谢.
哦,那我下面还有一个统计在线人数的,请帮我看看为什么这个总是显示在线一人呢.
<script language=vbscript runat=server>
sub session_onstart
session("counter")=cint(session("counter"))+1
end sub
sub session_onend
session("counter")=cint(session("counter"))-1
end sub
</script>
是不是这个必须要有登陆拥护才生效啊

眼下,作网站已成为一种时尚,各式各样的网站如雨后春笋般冒了出来。有用CGI制作的,有用ASP制作的,还有用PHP制作的,不一而足。有一些网站则能统计出当前的在线人数,如:“目前有32人在线”。那么,用ASP制作的网站怎样显示当前的在线人数呢?

当用ASP制作的网页都存放与WWW服务器的基点目录并且WWW服务器启动之后,每当有对ASP文件的HTTP请求时,服务器都会去读取基点目录下的Global.asa文件。为了统计网站的在线人数,我们可以在Global.asa文件中包含如下代码:

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart

' 当服务器开启时,设置用户计数器为0
Application("ActiveUsers") = 0
End Sub
Sub Session_OnStart

' 设置Session对象的有效时间为20分钟(也可以更长,但是越长对服务器的资源' 占用越多,因为服务器不接受少于20分钟的有效时间,所以设置少于20分钟的'有效时间是无效的)
Session.Timeout = 20

' 当开始一个Session时用户计数器加1
Application.Lock
Application("ActiveUsers") = Application("ActiveUsers") + 1
Application.UnLock
End Sub
Sub Session_OnEnd

' 当结束一个Session时用户计数器减1
Application.Lock
Application("Activ