当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 请指教. ......
    摘要: 我用getsockopt()的错误码是wsaenoprotoopt。 ......


如何判断当前在线的用户

开发一个OA,要求有实时的显示出当前在线的用户。我的方法是用户登录时在数据库中设一个标志,退出时再把标志去掉。但如果用户的机器死机或关闭浏览器怎么办呢?  
  大家有成熟的方案还请不吝赐教!

NO.1   作者: xiaoliou

你可以去看看动网的代码嘛.  
  下一个动网基本上什么代码都有了,呵呵.懒.

NO.2   作者: tigerwen01

但如果用户的机器死机或关闭浏览器,要解决这个问题,就要设置用户在线停留的最短时间,超过了这段时间用户没有任何操作,就做用户离线处理。

NO.3   作者: cqfeng

写在Session_OnEnd里面,但是也不是很准确,因为session有一个过期的时间

NO.4   作者: askexpert

但如果用户的机器死机或关闭浏览器,要解决这个问题,就要设置用户在线停留的最短时间,超过了这段时间用户没有任何操作,就做用户离线处理。----->   完全同意  
 

NO.5   作者: ministrybill

呵呵,好像已经有无数个帖子在讨论这个问题了  
  不过都没有很好的方法  
  如果你的服务器能承受的起的话,可以用楼上的方法  
  不过时间定为多久就看你了

NO.6   作者: sdliubo

用session加数据库   查看一下别人的源代码

NO.7   作者: wxb80

在globle.asa中做一个变量online每开启一个进程online+1,关闭一个online-1,在页面显示online   的值。

NO.8   作者: lhb2000

我在OA中是这么作的  
  在数据库中用个online表来记录  
  CREATE   TABLE   [online]   (  
  [ID]   [int]   IDENTITY   (1,   1)   NOT   FOR   REPLICATION     NOT   NULL   ,  
  [Username]   [nvarchar]   (50)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL   ,  
  [IP]   [nvarchar]   (50)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL   ,  
  [Stats]   [smallint]   NOT   NULL   CONSTRAINT   [DF_online_Stats]   DEFAULT   (0),  
  [startime]   [datetime]   NOT   NULL   ,  
  [lastimebk]   [datetime]   NOT   NULL   ,  
  [lastime]   [nvarchar]   (50)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL   ,  
  [browser]   [nvarchar]   (250)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL    
  )   ON   [PRIMARY]  
  GO  
  kicktime是记录的时间  
  sql="Delete   FROM   online   WHERE   DATEDIFF(s,   lastimebk,   GETDATE())   >   "&kicktime&"*60"  
   
   
   
 


 ·如何让checkbox自动提交    »显示摘要«
    摘要: 我想在选中checkbox的同时提交到服务器: ********* 问题一 ********* <script language=c# runat=server> void checkbox1_checkchanged(object sender,eventargs e) { a.text="ok"; } </script> <asp:ch......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE