国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

聊天室實現(xiàn)私聊(三)

2019-11-18 22:45:41
字體:
供稿:網(wǎng)友


作者:網(wǎng)絡(luò)之門

  上兩節(jié)介紹了如何處理聊天室內(nèi)的談話內(nèi)容以及悄悄話的特殊處理,至此。我們?nèi)タ纯凑勗拑?nèi)容是如何在客戶端顯示出來的。請先看看我們的顯示對話文件(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

%>

  聊天室具備了管理(把不受歡迎的人踢出聊天室,公告等的功能,因此與發(fā)言處理和悄悄話功能無關(guān)的部分小虎不作解說了。

  前面我們用了一個application("zj_1counter")的公有對象來保存最新發(fā)言所在的緩沖元素。用session("zj_1counter")來保存當前用戶本身已顯示的對話元素。在每次調(diào)用top.asp這個文件,只要對比出session("zj_1counter")與application("zj_1counter")的取值不同,就可以得知需要顯示新的交談發(fā)言。而每次完成顯示,又必須把兩個計數(shù)值統(tǒng)一個。不然就會發(fā)生重復(fù)顯示對話內(nèi)容的錯誤了。

  又于緩沖區(qū)是循環(huán)使用的,比如說當前用戶現(xiàn)示的對話內(nèi)容是存儲在application("chats")(18)中,而新的發(fā)言已經(jīng)重新回到application("chats")(2)了,因此本次需要顯示4條發(fā)言,上面的詳細處理解說小虎不做了。大家仔細看看。然后想一想,是很容易明白的。

  又于耳語和公共對話application("chat")(n)是分開處理的,因此公有對話處理完畢后,就到了耳語的處理。耳語標志是session("chat")(它用來存儲上一次的耳語內(nèi)容,當對比出application("chat")本次的耳語內(nèi)容于上次的不符,就可以得知需要顯示耳語了,當耳語顯示后,別忘了把session("chat")與application("chat")同步哦,不然耳語就在你耳邊“響”個不停,吵死了。。

 

  這里向大家介紹了處理耳語的一種方法,做聊天室的方法很多。好與壞會影響到聊天室的性能(速度。。容錯性等等)。制作一個好的聊天室是很有技巧的。在這一點上。小虎感到自己的聊天室還是做的不算好。有待改進。

  本例子的聊天室地址:http://active.t500.net。歡迎大家作客“素素心語

*注程序中的session("zj_1chat")與解說中的session("chat")實際是同一個變量,application("zj_1chats")(n)等也是如此類推。。。麻煩大家留意一下。小虎不去修改程序中的不同之處了


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 贵阳市| 墨竹工卡县| 开原市| 那曲县| 永德县| 庄浪县| 新丰县| 古交市| 德江县| 安康市| 开鲁县| 平阳县| 咸丰县| 二手房| 商都县| 玉田县| 清河县| 乌兰浩特市| 宜昌市| 陆河县| 杨浦区| 长沙市| 大同市| 孟州市| 彭泽县| 清水河县| 寿宁县| 万全县| 高邑县| 民勤县| 崇阳县| 陈巴尔虎旗| 枣强县| 东阿县| 弥渡县| 卓尼县| 芦溪县| 易门县| 甘洛县| 启东市| 台安县|