一个实用的FSO-实时统计在线人数

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")

scrname=Request.ServerVariables("SCRIPT_NAME")

linkurl="http://" & sername & scrname

%>

<html>

<head>

<title>实时统计在线人数</title>

<META HTTP-EQUIV="Refresh" content="10; URL=<%=linkurl%>"> '每隔10秒刷新

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<style TYPE="text/css">

<!--

P {FONT-SIZE: 9pt; font-color: #eeeeee}

A {TEXT-DECORATION: none}

A:link {COLOR: #0068A3}

A:visited {COLOR: #0068A3}

A:hover {COLOR: #2f00ff; TEXT-DECORATION: underline}

.ourfont {font-size: 9pt }

BODY { FONT-SIZE: 9pt}

TABLE { FONT-SIZE: 9pt}

-->

</style>

</head>

<%

countfile=server.mappath("people.asp")

Set fs=CreateObject("Scripting.FileSystemObject")

n=Year(date())

y=Month(date())

r=Day(date())

s=Hour(time())

f=Minute(time())

m=Second(time())

if len(y)=1 then y="0" & y

if len(r)=1 then r="0" & r

if len(s)=1 then s="0" & s

if len(f)=1 then f="0" & f

if len(m)=1 then m="0" & m

sj = n & "-" & y & "-" & r & " " & s & ":" & f & ":" & m

'格式化日期、时间

dim ly()

Set thisfile=fs.OpenTextFile(countfile,1,False)

countly=0

do while not thisfile.AtEndOfStream

thisline = thisfile.readline

Redim preserve ly(countly)

ly(countly) = thisline

countly = countly + 1

loop '将people.asp中内容读到数组中

thisfile.close

sameip=0

for i=1 to (countly-1)/2

if DateDiff("s",ly(i*2),sj)>60 then

ly(i*2-1)=""

ly(i*2)=""

countly=countly-2

end if

if Request.ServerVariables("REMOTE_ADDR")=ly(i*2-1) then

sameip=1 'IP已经存在

ly(i*2)=sj

end if

next

set outfile=fs.CreateTextFile(countfile)

for i=0 to countly-1

if ly(i)<>"" then

outfile.WriteLine ly(i)

end if

next

if sameip=0 then

outfile.WriteLine Request.ServerVariables("REMOTE_ADDR")

outfile.WriteLine sj  '添加新记录

outfile.Close

end if

Set thisfile=fs.OpenTextFile(countfile,1,False)

countly=0

do while not thisfile.AtEndOfStream

thisline = thisfile.readline

Redim preserve ly(countly)

ly(countly) = thisline

countly = countly + 1'总的记录行数

loop

thisfile.close

total=(countly-1)/2 '统计总人数,每人有两行记录:IP、时间

%>

<body>

<p><select name="Online" size="1">

<option selected value="Online"><%=total%>人在线上</option>

<%

for i=1 to total

response.write "<option>"&ly(i*2-1)&"</option>"

next

%>

</select></p>

</body>

</html>

people.asp:

<%Response.end%>

172.16.20.230'用户IP

2003-06-15 09:53:57'登录时间

(0)

相关推荐

  • 一个实用的FSO-实时统计在线人数

    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="

  • servlet监听实现统计在线人数功能 附源码下载

    本文实例为大家分享了servlet统计在线人数的具体代码,供大家参考,具体内容如下 ServletContext事件监听器---->针对applicationScope ServletContextListener(*) 对整个Web应用的装载和卸载进行监听.  ServletContextAttributeListener 对ServletContext中的信息存放.删除和替换进行监听. ServletContext就是Servlet上下文监听,在web中表示的是对启动服务和销毁服务进行监听,

  • PHP实现统计在线人数功能示例

    本文实例讲述了PHP实现统计在线人数的方法.分享给大家供大家参考,具体如下: 我记得ASP里面统计在线人数用application 这个对象就可以了.PHP怎么设计? PHP对session对象的封装的很好,根据HTTP协议,每个范围网站的访客都可以生成一个唯一的标识符 echo session_id(); //6ed364143f076d136f404ed93c034201<br /> 这个就是统计在线人数的关键所在,只有有这个session_id 也就可以区分访问的人了.因为每一个人都不同

  • php精确的统计在线人数的方法

    这是一个非常精确的,通过php实现统计在线人数的方法,想知道怎么实现的请耐心阅读. <?php $filename='online.txt';//数据文件 $cookiename='VGOTCN_OnLineCount';//cookie名称 $onlinetime=600;//在线有效时间,单位:秒 (即600等于10分钟) $online=file($filename); //PHP file() 函数把整个文件读入一个数组中.与 file_get_contents() 类似,不同的是 fi

  • springboot 用监听器统计在线人数案例分析

    本文在springboot 的项目,用HttpSessionListener 监听器(监听器的其中一种) 统计在线人数,实质是统计session 的数量. 思路很简单,但是有个细节没处理好,让我调试了大半天,才把bug搞好. 先写个HttpSessionListener 监听器.count  是session的数量(人数),session 创建的时候,会触发监听器的sessionCreated 方法,session销毁的时候,会触发监听器的sessionDestroyed 方法. 在监听器中计算

  • PHP基于cookie实现统计在线人数功能示例

    本文实例讲述了PHP基于cookie实现统计在线人数功能.分享给大家供大家参考,具体如下: online.php文件: <?php /* @ PHP 在线人数统计程序 Copyright (c) www.vgot.cn by Pader 1:25 2009年1月7日 Homepage:http://www.vgot.cn QQ: 270075658 How to use it: <script src="online.php"></script> note

  • Javaweb监听器实例之统计在线人数

    本文实例为大家分享了Javaweb统计在线人数示的具体代码,供大家参考,具体内容如下 1. 实现功能 统计在线人数 显示每个人的sessionId.Ip.第一次登录时间 2. 运用监听器种类 HttpSession ServletRequest 3. 实现思想 每一个用户对应着一个session,所以在每次session被创建时,num++: 实现一个用户类(sessionID.IP.Date) 获取IP地址的方法需要用request,所以我们要实现一个ServletRequest监听器 每一次

  • jQuery实时统计输入框字数及限制

    项目中经常会用到文本输入框,而且需要限制输入的字数. 下面分享一个 jQuery 实时统计输入框输入字数及限制输入字数的方法,代码如下: HTML:简单的写一下,能实现功能即可. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=dev

  • Java实现统计在线人数功能的方法详解

    目录 1. 监听器的简介 2. Java监听器的类型 (1)ServletContextListener (2)HttpSessionListener (3)ServletRequestListener (4)ServletContextAttributeListener (5)HttpSessionAttributeListener (6)ServletRequestAttributeListener (7)HttpSessionActivationListener 3.监听器Listener

  • PHP四种统计在线人数方式详细介绍

    目录 1 用表统计方式 2 使用 redis 有序集合实现在线人数统计 3 使用 hyperloglog 做统计 4 使用 bitmap 统计 1 用表统计方式 用数据表统计在线人数,这种方式只能用在并发量不大的情况下. 首先我们先新建表:user_login 编辑 user_login 表 模拟用户登录,不存在用户就存入表,存在的则更新登录信息 // 客户端唯一的识别码 $client_id = session()->getId(); //用户是否已存在 $user = DB::table('

随机推荐