首页 >> 读书频道 >> 电脑 >> 实现聊天室的悄悄话功能(下)
 
· 实现聊天室的悄悄话功能(
· 实现聊天室的悄悄话功能(
· 一个只有一个文件,功能强
· 多层回复的基于 ASP
· 多层回复的基于 ASP
· 多层回复的基于 ASP
· 建立一个小型的购物车程序
· 制作购物车程序!
· 同时订购多样物品的源程序
· ASP商场源程序
· 一个简单的购物篮源代码
· 网上“店铺”DIY(3)
 
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 红楼梦:120回全本[清
· 武林寓言故事
· 2006高考录取规则
· 首批中国世界名牌产品和2
· 济南美食大全
· 管理三十六计
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

实现聊天室的悄悄话功能(下)


查看有无更新版本

关键字:代码乐园 2006-8-28

 

上两节介绍了如何处理聊天室内的谈话内容以及悄悄话的特殊处理,至此。我们去看看谈话内容是如何在客户端显示出来的。请先看看我们的显示对话文件(top.asp) *top.asp 
《% @language="vbscript" %》 
《% 
Response.Expires=0 
'response.buffer=true 
%》 
《meta http-equiv="refresh" content="2.5"》 
《body bgcolor="《%=application("zj_1color")%》" topmargin="0"
leftmargin="0"》 
《i》《center》《font color="#FFFF00" size=4》《%=application
("zj_1title")%》《/font》《/center》《/i》 
《% 
if session("userzj_1")="" then 
session("userzj_1")="" 
session("zj_1level")="" 
session("zj_1start")="" 
session("zj_1total")=0 
session("zj_1boot")="" 
session("zj_1counter")=0 
session("zj_1open")="" 
'session.abandon 
%》 
《script LANGUAGE="JavaScript"》 
parent.location="timeout.htm" 
《/script》 
《% 
response.end 
end if 
 
'是否在捣乱? 
for n=1 to 40 
if session("userzj_1")=application("peoplezj_1"&n) then 
exit for 
end if 
 
if n=40 then 
session("zj_1boot")="true" 
%》 
《script LANGUAGE="JavaScript"》 
parent.location="boot.htm" 
《/script》 
《% 
end if 
 
next 
%》 
《script LANGUAGE="JavaScript"》 
《% 
 
if session("zj_1counter")《》application("zj_1counter") then 
if session("zj_1counter")《application("zj_1counter") then 
for i=session("zj_1counter")+1 to application("zj_1counter") 
%》 
parent.middle.document.writeln("《%=application("zj_1chats")
(i)%》") 
《% 
 
next 
 
else 
for i=session("zj_1counter") to 20 
if application("zj_1counter")《》1 then 
%》 
parent.middle.document.writeln("《%=application("zj_1chats")
(i)%》") 
《% 
end if 
next 
 
for i=1 to application("zj_1counter") 
 
%》 
parent.middle.document.writeln("《%=application("zj_1chats")
(i)%》") 
《% 
next 
end if 
 
if session("zj_1open")="true" then 
 
session("zj_1counter")=application("zj_1counter") 
end if 
end if 
 
'公告 
 
if session("zj_1public")《》application("zj_1public") then 
%》 
parent.middle.document.writeln("《%=application("zj_1public")%》") 
 
《% 
session("zj_1public")=application("zj_1public") 
end if 
 
'有耳语吗? 
if session("zj_1chat")《》application("zj_1chat") then 
if application("zj_1owner")=session("userzj_1") or application
("zj_1chatto")=session("userzj_1") or application("zj_1chatto")="ALL"
then 
 
%》 
parent.middle.document.writeln("《%=application("zj_1chat")%》") 
《% 
end if 
session("zj_1chat")=application("zj_1chat") 
end if 
 
application("peoplezj_1_appear"&n) 
 
count=0 
for n=1 to 40 
if application("peoplezj_1"&n)《》"" then 
count=count+1 
 
end if 
next 
if session("zj_1total")《》count then 
session("zj_1total")=count 
session("zj_1refresh")="true" 
%》 
《/script》 
 
《% 
end if 
 
response.flush 
 
%》 
 
聊天室具备了管理(把不受欢迎的人踢出聊天室,公告等的功能,因此与发言处理和悄悄话功能无关的部分小虎不作解说了。 
前面我们用了一个application("zj_1counter")的公有对象来保存最新发言所在的缓冲元素。用session("zj_1counter")来保存当前用户本身已显示的对话元
素。在每次调用top.asp这个文件,只要对比出session("zj_1counter")与
application("zj_1counter")的取值不同,就可以得知需要显示新的交谈发言。而每次完成显示,又必须把两个计数值统一个。不然就会发生重复显示对话内容的错误了。 
又于缓冲区是循环使用的,比如说当前用户现示的对话内容是存储在
application("chats")(18)中,而新的发言已经重新回到application("chats")
(2)了,因此本次需要显示4条发言,上面的详细处理解说小虎不做了。大家仔细看看。然后想一想,是很容易明白的。 
又于耳语和公共对话application("chat")(n)是分开处理的,因此公有对话处理完毕后,就到了耳语的处理。耳语标志是session("chat")(它用来存储上一次的耳语内容,当对比出application("chat")本次的耳语内容于上次的不符,就可以得知需要显示耳语了,当耳语显示后,别忘了把session("chat")与application
("chat")同步哦,不然耳语就在你耳边“响”个不停,吵死了。。 
这里向大家介绍了处理耳语的一种方法,做聊天室的方法很多。好与坏会影响到聊天室的性能(速度。。容错性等等)。制作一个好的聊天室是很有技巧的。在这一点上。小虎感到自己的聊天室还是做的不算好。有待改进。 
本例子的聊天室地址:http://active.t500.net。欢迎大家作客“素素心
语” 
 
 
 
*注程序中的session("zj_1chat")与解说中的session("chat")实际是同一个变
量,application("zj_1chats")(n)等也是如此类推。。。麻烦大家留意一下。小虎不去修改程序中的不同之处了。

实现聊天室的悄悄话功能(下)

[ 1 ]
实现聊天室的悄悄话功能(下) num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑