求助:如何及时的知道聊天室的用户的变动情况? 设置一个appication变量,用户进入,将自己的名字加入到这个变量里去,然后在程序中间加一个不断刷新的页面,检测这个变量,一般这个变量存的就是在线的用户列表,或者用数据库也可以,但在退出时,要在这个变量或数据库中相应的项(自己的名字)清除 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ruguo以外退出呢。比如掉线等等。 还是在数据库里存,用一个字段标记用户最新的刷新时间,定期自动刷新判断页面,如果这个值超过一定时间,一般和session的超时一致,20分钟,就删除该用户的登陆记录。 感谢楼上众位朋友的热情支援!我用的是jsp做聊天室,聊天室没有和后台数据库打交道,大部分的功能是用javascript实现的,我现在用了一个synchronized (application){ //热门聊天室 Vector vecUserName0100=null; vecUserName0100= (Vector)application.getAttribute("UserName0100"); if(vecUserName0100==null) vecUserName0100= new Vector(1000,1000); if (!strName.equals("")) { vecUserName0100.addElement(strName); } String User=""; try { for(int i=0;i<vecUserName0100.size();i++) { User= (String)vecUserName0100.get(i); strUserList0100+="'"+User+" "+User+" 0 0 0 0 0 0',"; } strUserList0100=strUserList0100.substring(0,strUserList0100.length()-1); } catch (Exception e) { System.out.println("e0100="+e.toString()); } iUserCount0100=vecUserName0100.size(); application.setAttribute("UserName0100",vecUserName0100);}用了一个同步的思想再作,现在只能够统计共有多少人进来,但是用户什么时候走,比方说关掉ie页面,而不是点击退出按钮,我就无法判断了。 关掉IE页面与点击按钮的操作是一样的,在onunload事件中加入一个清除session的操作如:sendhttp("clearseesion.asp")sendhttp是运用xml请求服务器的自定义函数 var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); xmlhttp.Open("POST", sAspFile, false); 感谢hcsunjun(小子)的鼎力资助! 怪事都让我碰上了!JS问题 求助 请问用js如何判断history是否可以后退和前进 关于select标签级联的问题 【【传入当前标签对象this的困惑???】】 如何合并这个两个正则 innerHTML中的链接无效? 删除确认的javaScript方法 insertCell只后如何设置colspan呢? Go_Rush(阿舜) 来拿分 如何打开选择颜色的对话框?有自带函数吗? 还是求教HTML表格递交确认的问题 急!如何在JSSCRIPT调用ActiveX中的方法,并且得到方法的返回值
如果这个值超过一定时间,一般和session的超时一致,20分钟,就删除该用户的
登陆记录。
我用的是jsp做聊天室,聊天室没有和后台数据库打交道,大部分的功能是用javascript实现的,
我现在用了一个
synchronized (application)
{
//热门聊天室
Vector vecUserName0100=null;
vecUserName0100= (Vector)application.getAttribute("UserName0100");
if(vecUserName0100==null) vecUserName0100= new Vector(1000,1000);
if (!strName.equals(""))
{
vecUserName0100.addElement(strName);
}
String User="";
try
{
for(int i=0;i<vecUserName0100.size();i++)
{
User= (String)vecUserName0100.get(i);
strUserList0100+="'"+User+" "+User+" 0 0 0 0 0 0',";
}
strUserList0100=strUserList0100.substring(0,strUserList0100.length()-1);
}
catch (Exception e)
{
System.out.println("e0100="+e.toString());
} iUserCount0100=vecUserName0100.size();
application.setAttribute("UserName0100",vecUserName0100);
}
用了一个同步的思想再作,现在只能够统计共有多少人进来,但是用户什么时候走,比方说关掉ie页面,而不是点击退出按钮,我就无法判断了。
xmlhttp.Open("POST", sAspFile, false);