首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 一个一直想问了很久的问题
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 10:10:19 楼主
    是这样的,在用户登陆的时候,我们会更新数据库中的一个字段online = true 这样可以限制用户重复登陆, 但是有个问题饿,用户点 退出还好,可以把 online改成flash 但是如果用户不点退出,直接把所有的窗体关了就走人了,我应该怎么做呢? 我是初学者,希望各位大虾不要吝惜自己的才华,给小弟点意见,或者给小弟一些其他的限制用户 重复登陆的方法
    30  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 10:15:241楼 得分:0
    你可以维护一个在线用户表,用户表里有个最近活动时间lastActiveTime

    如果用户就活动,就去更新这个表,让lastActiveTime = Now。

    隔一段时间去轮询一下,如果Now - lastActiveTime > 时间界限 T,就把它变成online = false。


    可能有其他好办法。我顺便mark一下。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 10:58:282楼 得分:0
    数据库中的一个字段online = true 这样可以限制用户重复登陆
    不用这样吧,判断SESSION应该就可以了吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 11:11:323楼 得分:0
    1楼的在线表是比较实际的方法


    如果是mssql,一个更加好的就是使用sql server agent来使用作业来设置online=flash在一定时间段内没有活动的用户
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 11:12:104楼 得分:0
    但是如果用户不点退出,直接把所有的窗体关了就走人了
    ==
    设置超时时间轮训
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 11:25:065楼 得分:0
    我记得是在sessionStart和sessionEnd 里设置
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 11:40:496楼 得分:0
    建议换成在session存储在线表.
    在数据库存的话有个问题,假设A在网吧上网,突然死机了什么的,总之没有正常退出.结果他在其它机子上就没办法登录了,因为在线表还记得他在线的.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 12:00:527楼 得分:0
    建议换成在session存储在线表.
    同意楼上意见!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • syc958
    • 等级:
    发表于:2008-05-20 12:11:158楼 得分:0
    如果用微软的ajax,我想可以在unload Event
    加入事件驱动!我想这样可以很好的解决掉这个问题!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 12:59:379楼 得分:0
    引用 2 楼 lihong1024 的回复:
    数据库中的一个字段online = true 这样可以限制用户重复登陆
    不用这样吧,判断SESSION应该就可以了吧


    人走了SESSION过一会就消失了。。。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
    Copyright © 2000-2007, CSDN.NET, All Rights Reserved