实现用户行为的监测,急!(50分)

  • 主题发起人 主题发起人 hope_tomorrow
  • 开始时间 开始时间
H

hope_tomorrow

Unregistered / Unconfirmed
GUEST, unregistred user!
我想要实现以下功能:
用户登录网站后,正常离开时,我能知道,
突然掉线时,我也能后立刻检测出来,并处理之。用在网络考试系统中。
 
似乎这里没有高手,或者是太简单,无人理睬!
 
客户端程序和服务端程序定时联系
 
因为是用在网页中,采用的是ASP,所以如果用ASP,那么怎样实现?
 
我来说说吧。

如果你会用Delphi写HTTPD例程,这个问题其实相当简单,我前段时间见过一个叫非非聊天室的软件,做得相当可以。

用ASP也可以实现,不过具体的逻辑控制比较复杂,一定要细致。

用户登陆网站、离开网站你是很容易监测的,这两个就不说了吧,我们主要看怎么检查用户突然掉线。

我们假释建立一个在线名单的数据库表,里面至少有一个用户标识作为主键,然后有登录时间、离开
时间、最后一次同步时间三个必要字段。用户登录的程序要在这个表里面插入记录,初始化时登录时
间为登录时系统时间,最后一次同步时间和登录时间相同,离开时间为空表示没有离开(在线)。用
户注销程序把注销时间填到这个表里面,表示此用户正常离开(使用程序的注销功能)。用户在使用
程序时,必须要有一个隐含页面不断刷新,刷新所调用的程序就不断把刷新时间填到表的最后一次同
步字段。最后你的检查异常退出(掉线)的程序所做的事情,就是不断的检查这个表,看没有离开的
用户中,哪些人的最后一次同步时间与当前系统时间相差太大(你自己定义这个标准),程序就把这
些人作为掉线处理,处理后还需要把处理时间填到离开时间里面,作为异常退出,下次循环就不在检
查它。当然可以在正常退出、异常退出的时间删除记录。

道理就是这样了,如果你以前考试的画面是ks.asp,我们做的刷新页面是fresh.asp,那么你的index
文件就这样写:
<html>
<frameset rows="0,*" frameborder=0>
<frame src="fresh.asp" scrolling="no" noresize marginheight=0>
<frame src="ks.asp" noresize marginheight=0>
</frameset>
</html>
 
to 光子
>>哪些人的最后一次同步时间与当前系统时间相差太大(你自己定义这个标准),程序就把这
些人作为掉线处理<<
如果是中途掉线,当他重新上来时,时间怎么办?如果用户名与密码被盗,如何防止两各人
同时在线考试,即只许一定时间内一个用户名上线。
 
对不起,有很重要的事很久没有来,这就给分了。
 
后退
顶部