仓酷云

标题: ASP编程:一个统计以后在线用户的办理计划 [打印本页]

作者: 透明    时间: 2015-1-16 23:35
标题: ASP编程:一个统计以后在线用户的办理计划
ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。办理|统计|在线在做一个在线交换的网站时,有个成绩很令我头疼,就是关于及时统计在线用户的成绩,客户请求:统计以后在耳目数、旅客人数、会员人数、在线用户列表,包含旅客、会员和办理员(假如是旅客,则主动天生旅客的ID,假如是会员,则显现会员姓名)。由于它请求有及时性,则起首我将用global.asa办理的设法pass失落。

成绩的关头是怎样判别用户已分开,和当用户分开时怎样实行一个文件或一个函数。

经由和网上一些伴侣的切磋,终究办理了这个成绩。

办理的道理为:编写一个通用页面,所谓的通用页面,就是使用里的每一个页面都包括这个页面,比方:header.asp,在这个页面里,用XMLHTTP写一段代码,这段代码的感化是每隔10秒或20秒就向服务器发送一个哀求,目标是更新以后用户的在线工夫并删除在线工夫凌驾必定工夫的用户,使数据库中的在线用户纪录坚持必定的及时性。

次要完成办法为:

新建一数据库,字段称号分离为:id(字符),name(字符),user(数字)tt(日期),admin(权限代码,0-一般用户,1-办理员)

表名:online

header.asp↓

============================================================

<%

......

ifsession("s_in")1andsession("s_name")=""then假如用户是第一次上岸

rs.open"select*fromonline",conn,3,3
rs.addnew
rs("id")=session.sessionID
rs("name")="旅客"&session.sessionID
rs("user")=00暗示用户未上岸,是旅客身份
rs("tt")=now
rs.update
rs.close
session("s_in")=1设置用户的材料已存进数据库,暗示已在线
endif

ifsession("s_name")""then假如用户已经由过程登录框登录
rs.open"select*fromonlinewhereid="&session.sessionID&"",conn,3,3
rs("name")=session("s_name")
rs("admin")=session("s_admin")将用户的姓名更新为会员称号
rs("user")=1暗示用户已上岸,是会员身份
rs("tt")=now将以后体系工夫设置为用户的上岸工夫
rs.update
rs.close
endif

......

%>

......

<head>

......

<scriptlanguage=javascript>
functionTest()
{
varxmlhttp=newActiveXObject("MSXML2.XMLHTTP");
xmlhttp.open("POST","onceonline.asp",false);//向onceonline.asp发送更新哀求
xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
xmlhttp.send();
}
setInterval("Test();",10);//10秒钟发送一次更新哀求
</script>

......

</head>

......

==========================================================

onceonline.asp

<%
rs.open"selectttfromonlinewhereid="&session.sessionID&"",conn,3,3
rs("tt")=now()更新以后在线用户的在线工夫
rs.update
rs.close

rs.open"deletefromonlinewheredatediff(s,tt,now())>60",conn,3,1删除超时用户
%>

==============================================================

如许,基础包管了数据库顶用户列表的及时性,偏差取决于更新工夫和删除工夫的差值巨细和服务器的处置速率,倡议不要将删除超时用户的工夫距离取的过于小,那样有大概会招致在线用户0人的掉误。

本计划在WIN2000+SQLServer2000上调试经由过程,因为本计划对体系请求对照年夜,等候其他伴侣拿出更好的计划,一同办理这个成绩!

我的信箱:my5243@hotmail.com

我叫“积木”,接待你和我成为伴侣!
</p>我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。
作者: 愤怒的大鸟    时间: 2015-1-20 10:02
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
作者: 兰色精灵    时间: 2015-1-29 06:44
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
作者: 若相依    时间: 2015-2-5 23:27
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
作者: 小妖女    时间: 2015-2-14 05:16
不能只是将它停留在纸上谈兵的程度上。
作者: 柔情似水    时间: 2015-3-4 04:49
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
作者: 活着的死人    时间: 2015-3-11 16:56
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
作者: 小魔女    时间: 2015-3-19 02:27
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2