不用Golobal和session实现在线人数统计

2016-01-29 19:50 35 1 收藏

不用Golobal和session实现在线人数统计,不用Golobal和session实现在线人数统计

【 tulaoshi.com - ASP 】

实现在线人数统计最常用的方法就是golobal.asa结合session做,但这种方法有两个不利:
1、每个session要占用12k的服务器内存空间,为了人数+1就要付出12k内存的代价。
2、golobal.asa要放在网站的根目录下才会起作用,而且根目录只能有一个golobal,矛盾突出。
为此,有一种使用cookie和application在asp文件中实现在线统计的方法,欢迎批评指正,共同探讨:
第一步:做一个框架,包含隐藏框架(count.asp)
第二步:编写count.asp
<%
user=request.cookies("21bbsusername")
totaluser=application("user")
if instr(totaluser,user)=0 then
application.lock
application("user")=totaluser&";"&user
application.unlock
end if
%
<html
<head
<meta http-equiv="refresh" content="2"
</head
<body
</body
</html
第三步:显示
<%
user=split(application("user"),";")
num=ubound(user)
response.write num 
%

来源:https://www.tulaoshi.com/n/20160129/1510214.html

延伸阅读
标签: Web开发
在浏览网页的时侯,常常可以看见一些当前网站上的人数是XXX人的在线人数同计。如何用ASP来做一个呢?首先,分析一下它的做法,一般来说,这些线上人数统计都是指一个时段内的访客人数统计。比如(5分钟内,10分钟内)而这个时间的长短,是由设计者设定的。 在这个时段内同计各个不同IP的访客总数,就可以得出当前的线上人数了,...
标签: PHP
【PHPChina讯】 <?php session_start(); $dat_now1=date("H+i+s");//取时间 $p2=explode("+", $dat_now1); $dat_number1=$p2[0]*3600+$p2[1]*60+$p2[2];//取秒 if($online_time<"")//上次刷新时间 {$dat_h=substr($online_time,11,2); $dat_i=substr($online_time,14,2); $dat_s=substr($online_time,17,2); $d...
标签: ASP
  最普通的方法是用SESSION,但缺点是无法即时反应在线情况(有超时时间)和占用服务器资源(如果有100人在线就有100个SESSION,想想看8);上次(好象间隔很久了耶)介绍了一种采用APPLICATION+COOKIES的方法,但实现方法有些烦琐同时还要设一个隐藏的自刷新页面。 这种方法则避免了以上的弊病,经实践,效果不错(例子:WWW。ATERSOFT。...
标签: ASP
  count.asp: <%Server.ScriptTimeout=300 id=Trim(Request.QueryString("id")) fc=Trim(Request.QueryString("fc")) if fc="" then fc="FFFF00" bg=Trim(Request.QueryString("bg")) if bg="" then bg="000000" bc=Trim(Request.QueryString("bc")) if bc="" then bc="00FF00" sername=Request.ServerVariables("SERVER_NAME") scrn...
标签: Web开发
JSP作为后起之秀能够在服务器编程环境中占据一定地位,是和它良好支持一系列业界标准密切相关的。Session就是它提供的基础设施之一。作为一个程序员,你可以不介意具体在客户端是如何实现,就方便的实现简单的基于session的用户管理。现在对于处理在线用户,有几种不同的处理方法。 一种是页面刷新由用户控制,服务器端控制一个超时时...

经验教程

132

收藏

49
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部