application的问题:请问利用APPLICATION如何做多用户聊天室及在线计数器

liuxk 2002-05-18 10:30:15
最好能写程序
...全文
30 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ChinaOk 2002-05-18
http://www.chinaok.net/Examples
vbs的中文手册。
rnd随机数

你可以招到一些文章看看。
搜索。
http://www.dev-club.com
回复
possible_Y 2002-05-18
split(string,x)将字符串string以字符x分割开后存入数组
回复
micher_yan 2002-05-18
用户离开的时候,因为无法准确的知道他是正常/非正常推出,所以推荐的方法是使用Session_onend解决。不过可以用另外一个办法,就是每个人在刷新名单的时候,首先刷新自己名字对应的时间,然后检查所有人的对应时间,发现超时(如2分钟)则把他从Application中cut,
回复
liuxk 2002-05-18
为什么用户离开时的统计会那么复杂?SPLIT是什么函数?
回复
liuxk 2002-05-18
rnd*3 做何解
回复
ChinaOk 2002-05-18
上面的计数器显示的时有点假的人数。就是那个rnd部分。
回复
ChinaOk 2002-05-18
计数器

<SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER">
Sub Application_onStart
'当网站服务器启动时会执行这个过程
Application("c_onLine")="" '在线用户列表
Application("c_Num")=0 '人数

End sub

Sub Application_onEnd
End sub

Sub Session_onStart
'当有人访问时会触发这个过程。
Session.Timeout=10
sID=cstr(Session.SessionID) & "|" '用户标识
Application.Lock
Application("c_onLine")=Application("c_onLine") & sID
Application("c_Num")=Application("c_Num")+int(rnd*3)
Application.UnLock
End sub

Sub Session_onEnd
'用户离开时触发。
'Session.SessionID是系统分配的 ,可以唯一的标识一个用户的 id标识符

dim NewList(),onLineAry,NewUserStr,i,onLineNum,user
user=cstr(Session.SessionID)
onLineNum=0
Application.Lock
onLine=Application("c_onLine")
onLineAry=split(onLine,"|")
for i=0 to ubound(onLineAry)
if (onLineAry(i)<>user) and (onLineAry(i)<>"") then
redim preserve NewList(i)
NewList(i)=onLineAry(i)
onLineNum=onLineNum+1
end if
next
if onLineNum<=3 then onLineNum=onLineNum+int(rnd*8)
Application("c_Num")=onLineNum
if onLineNum=0 then
Application("c_onLine")=""
else
Application("c_onLine")=join(NewList,"|")
end if
Application.UnLock

End sub
</Script>


回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2002-05-18 10:30
社区公告
暂无公告