用fso和session统计在线人数 文档管理系统 V2.0

原创 2004年09月08日 10:28:00

用fso和session统计在线人数

文档管理系统 V2.0
Power By: Yanhang.00
作者:yanhang 出处:Yanhang.00
编辑人:yanhang
rating:
全部文章——>>asp文档——>>代码实例 返回

用fso和session统计在线人数

看了以前很多统计在线人数的文章,很多方法都是用global.asa文件,如果要是论坛的话则用数据库,但是有没有一种方法即不用global.asa文件,又不用数据库呢?当然有,这就是我今天要说的用fso和session统计在线人数。

总体思路是这样的:当用户访问该页面时,先给用户一个session,然后再向online.txt文本文件中写入一个信息,然后在删除超时用户的信息,这样就得出了当前在线人数的信息。我把这个功能编写成了一个函数,具体如下:

调用方法:online()

<%
function online()

    '创建fso对象
    dim fso
    set fso = server.createobject("scripting.filesystemobject")

    '定义纪录数据文件的路径和文件名
    dim file
    file = server.mappath("online.txt")

    '检测文件是否存在,若不存在则新建
    if not fso.fileexists(file) then
        fso.createtextfile file,true,false
    end if

    '打开文件,向里面写入用户ip
    dim ip,timenow
    ip = request.ServerVariables("REMOTE_ADDR")
    timenow = now()
    if session(ip) = "" then
        session(ip) = ip
        dim txt
        set txt = fso.opentextfile (file,8,false)
        txt.writeline ip&"|"&timenow
        txt.close
        set txt = nothing
    end if

    '删除超时纪录
    set txt = fso.opentextfile (file,1,false)
    dim infostring,infoarray,i
    do while not txt.atendofstream
        infostring = txt.readline
        infoarray = split(infostring,"|",-1,1)
        if cdate(infoarray(1)) < now()-10/(24*60) then
            i = i + 1
        else
            exit do
        end if
    loop
    txt.close
    set txt = nothing
    set txt = fso.opentextfile (file,1,false)
    dim a
    for a = 1 to i
        txt.skipline
    next
    dim onlineinfo
    do while not txt.atendofstream
        onlineinfo = txt.readall
    loop
    txt.close
    set txt = nothing
    set txt = fso.opentextfile (server.mappath("online_temp.txt"),2,true)
    txt.write onlineinfo
    txt.close
    set txt = nothing
    fso.deletefile file,true
    fso.movefile server.mappath("online_temp.txt"),file
   
    '读取文件中的数据,算出在线人数
    set txt = fso.opentextfile (file,1,false)
    dim onlinenum
    onlinenum = 0
    do while not txt.atendofstream
        txt.readline
        onlinenum = onlinenum + 1
    loop
    txt.close
    set txt = nothing

    '清空fso
    set fso = nothing
   
    online = onlinenum

end function
%>

依赖于session的在线人数统计

最近工作中遇到一个问题, 在做在线人数统计时.我们实现了HttpSessionListner,HttpSessionAttributeListener里面的attributedAdded()方法和at...
  • licheng989
  • licheng989
  • 2017年01月03日 17:38
  • 725

web项目设置session监听器,统计同时在线人数

统计同时在线人数
  • bestcxx
  • bestcxx
  • 2016年05月05日 18:36
  • 1993

好记性不如烂笔头44-javaWeb中用Session统计在线人数(8)

JavaWeb应用中,很多的地方都和session有关。因此session相关的事件监听器,在日常工作中非常有用。 有时候我们需要统计当前在线的用户数,此时就可以使用监听器技术来很简单的实现这种功能...
  • ffm83
  • ffm83
  • 2015年02月09日 14:57
  • 1256

session监听器(可用于统计在线人数,了解系统当前已经登录的使用客户)

session监听器(可用于统计在线人数,了解系统当前的使用客户)博客分类: java浏览器SpringWebBeanServlet★★★ 本篇为原创,需要引用转载的朋友请注明:《 http://st...
  • mywordandyourword
  • mywordandyourword
  • 2014年02月05日 11:01
  • 1218

session监听器(可用于统计在线人数,当前客户)

在系统运行中,有时候我们想了解下当前使用系统的用户,有多少人在使用系统?具体是哪些人在使用系统? 这时候,就可以通过session监听器(javax.servlet.http.HttpSessionA...
  • qq_21439971
  • qq_21439971
  • 2016年05月23日 08:47
  • 9009

HttpSessionListener实现网站在线人数统计

在网站中经常需要进行在线人数的统计。过去的一般做法是结合登录和退出功能,即当用户输入用户名密码进行登录的时候计数器加1,然后当用户点击退出按钮退出系统的时候计数器减1。这种处理方式存在一些缺点,例如:...
  • g893465244
  • g893465244
  • 2014年11月05日 18:11
  • 1815

asp.net 使用Application和Session对象统计在线人数

asp.net 使用Application和Session对象统计在线人数   使用Application和Session对象,结合全局配置文件Global.asax和站点配置文件Web.confi...
  • alvinfqz
  • alvinfqz
  • 2016年06月03日 09:46
  • 1262

基于Redis的在线用户列表解决方案

前言:   由于项目需求,需要在集群环境下实现在线用户列表的功能,并依靠在线列表实现用户单一登陆(同一账户只能一处登陆)功能:   在单机环境下,在线列表的实现方案可以采用SessionL...
  • u013227436
  • u013227436
  • 2014年01月24日 16:01
  • 922

session监听器(可用于统计在线人数,了解系统当前的使用客户 ...

servlet中对session的监听有很多接口,功能很灵活,最常用的是监听Session和Attribute。这里要澄清一下概念,servlet中的session监听和Attribute监听含义有差...
  • mywordandyourword
  • mywordandyourword
  • 2014年02月05日 10:44
  • 1286

web开发之在线人数统计

需求: 统计当前在线人数(当前访问网站的用户) 思路: 第一步,把访客的信息存入到数据库,每次访问或者刷新页面的时候,都更新该访客在数据库中的记录,也就是更新该访客的最后活动时间。 第...
  • Jahnng
  • Jahnng
  • 2015年04月07日 20:38
  • 1169
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用fso和session统计在线人数 文档管理系统 V2.0
举报原因:
原因补充:

(最多只允许输入30个字)