壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4025|回复: 19

[Domino B/S开发] 请问如何实现统计在线用户信息的功能(请管理员置顶,谢谢)?

[复制链接]
发表于 2005/4/14 13:52:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
在线用户总数、在线用户列表、匿名用户等信息
之前查了些相关资料,但还是不得要领。
谢谢大家;


[本贴已被 like 于 2005-4-19 9:32:28 修改过]
发表于 2005/4/14 14:24:31 | 显示全部楼层
关注中,我认为用domino自身所带的功能应该解决不了这个问题,先看一下大家能不能用自带功能解决这个问题,如果解决不了,咱就想个比较好的方法。
 楼主| 发表于 2005/4/15 17:40:41 | 显示全部楼层
webadmin.nsf有在线用户信息,但不知道怎么取出来;
如果能取出来,就可以解决这个问题了;
大家可以看图,把重复登陆的过虑掉就行了;


发表于 2005/4/16 08:10:25 | 显示全部楼层
好东西,我看一下,对了,这是不是在R6啊?我现在还用得R5呢
 楼主| 发表于 2005/4/18 14:56:42 | 显示全部楼层
R6.5 ,谁知道怎么取信息吗?
发表于 2005/4/18 17:35:10 | 显示全部楼层
偶还用R5呢。。。。汗啊。
发表于 2005/4/19 09:11:28 | 显示全部楼层
在用户登录的时候记录用户信息,离线的时候清除用户信息.
采用这样的方法是可以实现的.
 楼主| 发表于 2005/4/19 09:24:41 | 显示全部楼层
可以描述的具体些吗,谢谢!
发表于 2005/4/20 08:05:17 | 显示全部楼层
以下是引用luckbird在2005-4-19 9:11:28的发言:[br]在用户登录的时候记录用户信息,离线的时候清除用户信息.[br]采用这样的方法是可以实现的.

这事情说起来很简单,其实实现起来真的很难,在非domino服务器记录的情况下,采取一种什么样的方式记录合适?如何才能在用户离线的时候正确的给用户清除信息?这和asp不一样,因为我们没有采用asp的cookies方式。其实有一个比较变态的方法也可以实现,无非就是在用户首页上加一个定时代理,1分钟或者某个固定的时候执行一次,每次都把当前用户的信息传递给服务器,让服务器进行在线人员列表更新。但是这种方式占用系统资源太多,我个人认为在多用户系统并不合适。
发表于 2005/4/20 08:10:37 | 显示全部楼层
以下是引用like在2005-4-15 17:40:41的发言:[br]webadmin.nsf有在线用户信息,但不知道怎么取出来;[br]如果能取出来,就可以解决这个问题了;[br]大家可以看图,把重复登陆的过虑掉就行了;[br][br][br]

我认为其实这个数据库也许可以利用一下。管理者应该对这个数据库有浏览权限的吧。只要找到该视图,了解视图对应表单以及表单中域的定义方式,就可以通过以下代码进行处理:
dim db,wadb as notesdatabase
dim s as new notessession
dim view as notesview
set db=s.currentdatabase
set wadb=s.getdatabase(db.server,"webadmin.nsf")
set view=wadb.getview("视图名")
dim tmpdoc as notesdocument
set tmpdoc=view.getfirstdocument
while not (tmpdoc is nothing)
if ....... then
如果是在线人员
else
如果是离线人员
end if

set tmpdoc=view.getnextdocument(tmpdoc)
wend
这样就可以对在线人员等进行统计了。
当然,因为我现在用的不是R6,所以也不知道行不行。
 楼主| 发表于 2005/4/20 10:33:10 | 显示全部楼层
上面的用户信息是代码打出来的,不是视图;
内容比较复杂,看不懂,不知道有谁熟悉的?
发表于 2005/4/20 13:24:55 | 显示全部楼层
不是视图?这有点意思,那可以找出来看一下啊。呵呵。我有兴趣了。
发表于 2005/4/20 13:33:23 | 显示全部楼层
要是你有相关资料的话,给我搞点过来吧 。我帮你搞一下。
 楼主| 发表于 2005/4/20 15:38:37 | 显示全部楼层
就是没资料啊;
发表于 2005/4/20 23:01:01 | 显示全部楼层
我记得好像我回答过类似问题的说~,用r6.5的时候就发现webadmin.nsf这个好东西,可以查看它里面的代码,应该能解决你的问题。
发表于 2005/4/20 23:42:29 | 显示全部楼层
当然可能r5的就没有办法解决了,只能登陆的时候去创建文档记录了。
发表于 2005/4/21 10:05:02 | 显示全部楼层
先对10楼的回帖顶一下
居然都在讨论R6的问题了偶还在用R5/痛哭
偶本来想尝试用R6.5但是还是感觉R5比较好习惯所以........
/叹气
发表于 2005/4/21 11:09:20 | 显示全部楼层
7.0都beta3了,不赶紧一下怎么跟上时代潮流啊~,本来要解决的问题说不定新版本里都已经不用解决了~^_^
发表于 2005/4/21 13:40:17 | 显示全部楼层
WebAdmin.nsf 库中在线用户的解决方法:
利用session的方法SendConsoleCommand,向控制台发送命令 show inetusers再显示返回的数据.
从而得到在线internet用户的数据的.

具体代码看这个库吧.几个相关位置:
agReadTableData$UserL2 中的GetInetUsers()
javascript 库JsPanelStatus 中onClickSendConsoleCommand 方法
agReadConsoleData$UserL2 中的PostConsoleCommand

这种方法只能是用户具有远程访问控制台的权限才行,因此不适合你的应用需要.
这里只是提供了一种思路.

再有,已知的SameTime有这种在线功能.你可以看一下;

[本贴已被 luckbird 于 2005-4-21 14:04:28 修改过]
发表于 2005/4/23 10:59:34 | 显示全部楼层
顶一个吧。。。
偶还用R5,,哭。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 06:56 , Processed in 0.019266 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表