- 主题:如何真实统计在线人数(人数不准确问题)?
在线人数不准确,尤其是当我直接关闭IE的时候,服务器的在线人数不自减(点离开本战的时候会自减).
我觉得服务器应该格一定时间发送一个数据联接到客户端,查看客户是否离线,以前ASP里就可以这么做,不知道SMTHBBS能否这么做?
用grep找到如下关于人数统计的信息:
bbsfoot.php:echo bbs_getonlinenumber(); ?></a>] 帐号[<a href=<?php
bbsguestfoot.php:echo bbs_getonlinenumber(); ?></a>] 帐号[<a href=<?php
bbsuser.php:<?php echo BBS_FULL_NAME; ?> -- 在线用户列表 [目前在线: <?php echo bbs_getonlinenumber(); ?>人]<hr>
问题是bbs_getonlinenumber()函数的实现在什么地方???
到SMTH1.2.2源代码下也没找到.....
难道我们现在上的新水木下的"在线"是假的?????
--
FROM 221.6.29.*
【 在 atppp (Big Mouse) 的大作中提到: 】
: 20分钟没有活动的登录在有新登录的时候会自动被清理
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~没注意,我是在很短时间内试的,下次试一下
--
FROM 221.6.29.*
不好意,说错了,
HTTP应该属于TCP协议,客户端如果没有坚听进程就无法接收到主机的数据
好像ASP可以定时的RESPONSE.WRITE"命令"到客户端,
如果客户端在线,主机可以得到这个ID的"信息"
如果是非正常断线,那么肯定得不到这个ID的"信息"
这样就可以把那些假的在线去掉了,不知道是不是这么做的???
PS:有位兄台说20分钟清除不在线的ID,我试了,不行嘛..............
这个在线统计的问题真的不好解决???
【 在 JulyClyde (七月) 的大作中提到: 】
: 我坚信HTTP是不能连接客户端的
--
修改:rainboyfdy FROM 221.6.29.*
FROM 221.6.29.*
小白合也是这样....上线真实人数应该除以3还差不多
重复累计的现象严重阿.......
其他的BBS没这么去过,不知道怎么样
【 在 rainboyfdy (rainboyfdy) 的大作中提到: 】
: 不好意,说错了,
: HTTP应该属于TCP协议,客户端如果没有坚听进程就无法接收到主机的数据
: 好像ASP可以定时的RESPOND.WRITE"命令"到客户端,
: ...................
--
FROM 221.6.29.*
【 在 etnlegend (etn|若即若离·虚幻·你不是神|050249) 的大作中提到: 】
: 这个肯定没问题的...
莫非?????????哎呀,我是在一台机子上用不同ID试的,莫非,它只认IP???
--
FROM 221.6.29.*
【 在 nbysy (孩子他爸) 的大作中提到: 】
: RESPONSE.WRITE ms 是客户端请求某一页面后才在当前页面的脚本里执行的吧?
: ASP没深究过,但想必 RESPONSE.WRITE 的功能和PHP里的 echo 差不多.
: 客户端无法接收到服务器主动发送的数据,关键不在于客户端有没有监听进程
:(telnet客户端没有监听进程,服务照样给客户端主动发数据.)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~这个主动发送数据是在TELNET客户端还没关闭的情况下可以主动发送数据的
: ...................
--
FROM 221.6.29.*