求赐教,怎样踢人?

tom_66 2011-05-30 07:36:59
我毕业设计做的是个web聊天室,我想搞个管理员,能够踢出已登录的用户,应该怎样实现呢?
...全文
343 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
tom_66 2011-06-01
  • 打赏
  • 举报
回复
有没有人做过踢人的项目呢?
fkyq01 2011-06-01
  • 打赏
  • 举报
回复
简单的方法: 直接对着那人的屁股踢就好了!
安心逍遥 2011-06-01
  • 打赏
  • 举报
回复
不妨用一下令牌机制
往何 2011-06-01
  • 打赏
  • 举报
回复
如果设计的时候,都有保存进入聊天室的用户,肯定有一个容器存储它们,如果要踢谁,直接把用户从容器中移出,让用户无法进入
zn85600301 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 fclxyz 的回复:]

怎么把session remove掉呢?每个user都有一个session user,用户自己点退出是可以remove自己的session,这个我也知道
11楼说的我也想过,但是觉得有点复杂,有没有更简单的方法
[/Quote]
你是如何判断用户已经登录的? 用户的登录信息在哪里存放的?
干掉存放的相应的登录用户信息
  • 打赏
  • 举报
回复
状态位!~ T人改变他的状态,不是这个状态就T出去了.可否?
BearKin 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用楼主 fclxyz 的回复:]
我毕业设计做的是个web聊天室,我想搞个管理员,能够踢出已登录的用户,应该怎样实现呢?
[/Quote]

要看你具体是如何设计的 首先你要确认什么样的情况能算作是"已登录" 取消已登录需要做什么事情

tom_66 2011-05-31
  • 打赏
  • 举报
回复
怎么把session remove掉呢?每个user都有一个session user,用户自己点退出是可以remove自己的session,这个我也知道
11楼说的我也想过,但是觉得有点复杂,有没有更简单的方法
彩票虫虫 2011-05-31
  • 打赏
  • 举报
回复
ajax好一些吧。
JavaAlpha 2011-05-31
  • 打赏
  • 举报
回复
如果你是放到session里面,可以把这个用户从session里面remove了。
  • 打赏
  • 举报
回复
这个问题与单点登陆应该是一样的,我只说一下思路吧,既然你提到Action了估计你能听懂。
因为每个人只能提交只能获取自己的Session,你想用管理员获取到其他人的Session,再让他失效基本是不太可能了。反正我是不会。
思路就是,你设置一个全局静态的容器,比如说一个List,管理员提出人之后,就把那个人的账号放到List里,这样每个人的每次操作,都先判断一下,List里有没有自己的账号,也就是被踢出没有,如果存在,就什么也不让他做,同时AJAX返回之后把他的在线列表的其他人也都移除,就跟被T了是一个效果,当这个人退出或者Session失效的时候再将他的账号从List里移除就可以了
菜继续 2011-05-31
  • 打赏
  • 举报
回复
取用该用户的 Socket 对象,直接 close 掉
Isnotsuitable 2011-05-31
  • 打赏
  • 举报
回复
那要看你是把它放在一个怎样的集合里来实现的,比如楼上说的session,那就把它清理掉
dongtianlaile 2011-05-31
  • 打赏
  • 举报
回复
。。。吓了一跳,,以为你要在CSDN踢人呢
哒哒路 2011-05-31
  • 打赏
  • 举报
回复
我觉得用个监听器,直接监听session,当管理员T人,后台直接移除登录的session,然后前台用ajax判断session是否存在,不存在就T出去
tom_66 2011-05-31
  • 打赏
  • 举报
回复
都没说到重点啊
用户登录后就创建一个session,用户列表存放在一个静态变量中,变量加1
增加过滤器和拦截器,未登录用户(通过session判断)禁止访问指定页面或者action
消息显示和在线用户列表显示都是通过ajax实现

说的很清楚了吧,踢人怎么踢呢?有没有简单的方法就可以实现的
zjt321 2011-05-30
  • 打赏
  • 举报
回复
你把 登录的用户 的sessionid都放到set集合中啊, 到时 管理员 点哪个,就清楚哪个!
tom_66 2011-05-30
  • 打赏
  • 举报
回复
如果用户自己点击退出,可以通过remove session来清除session,同时在在线用户列表中删除该用户。
但是管理员踢人,应该怎样实现呢?
tom_66 2011-05-30
  • 打赏
  • 举报
回复
请问楼上高人,能在Action中取到指定用户的socket对象吗?
我是用ajax实现的聊天室,不是用socket
  • 打赏
  • 举报
回复
取用该用户的 Socket 对象,直接 close 掉
加载更多回复(3)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧