婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

      主頁 > 知識(shí)庫 > chat.asp聊天程序的編寫方法

      chat.asp聊天程序的編寫方法

      熱門標(biāo)簽:濰坊呼叫中心外呼系統(tǒng)供應(yīng)商 微信地圖標(biāo)注有什么用 鄭州語音電銷機(jī)器人官網(wǎng) 地圖標(biāo)注中心多少錢注冊(cè) 不封卡外呼系統(tǒng)一般多少錢 重慶外呼電銷系統(tǒng)費(fèi)用 地圖標(biāo)注不完整被罰款 北京大興區(qū)地圖標(biāo)注 電銷機(jī)器人一個(gè)多少錢

      可能朋友們已經(jīng)在一些雜志上看到過 ASP 聊天程序的編寫方法,但作者在這里自己寫了一個(gè)更簡(jiǎn)單的程序,僅僅使用了一個(gè) .asp 文件。請(qǐng)將以下代碼剪貼到記事簿并保存為chat.asp。

       %@ Language=VBScript %>
      
       %
      
      Response.Buffer=true ' 設(shè)置輸出緩存,用于顯示不同頁面。
      
      On error resume next ' 忽略程序出錯(cuò)部分
      
      If Request.ServerVariables("Request_Method")="GET" then
      
      ' 判斷客戶是以什么方式請(qǐng)求 WEB 頁面
      
      '------------------------
      ' 客戶登陸界面 
      '------------------------
      %>
      
       form method="POST" action="chat.asp"> p>
      
       input type="text" name="nick" size="20" value="nick" style="background-color: rgb(192,192,192)"> br>
      
       input type="submit" value=" 進(jìn)入聊天室 " name="B1" style="color: rgb(255,255,0); font-size: 9pt; background-color: rgb(0,128,128)">
      
       p> input type="hidden" name="log" size="20" value="1"> br> /p>
      
       /form>
      
       %
      
      Response.End ' 結(jié)束程序的處理
      
      Else
      
      Response.clear ' 清空緩存中的內(nèi)容
      
      dim talk
      
      If Request.Form("nick")>"" then
      
      ' 判斷客戶是是否在聊天界面中 
      
      Session("nick")=Request.Form("nick")
      
      End If
      '------------------------'
      客戶聊天界面 
      '------------------------
      %>
      
       form method="POST" action="chat.asp" name=form1>  p> %=Session("nick")%> 說話: input type="text" name="talk" size="50"> br>
      
       input type="submit" value=" 提交 " name="B1">
      
       input type="reset" value=" 取消 " name="B2"> /p>
      
       /form>
      
       A HREF="/asptest/shusheng/chat.asp"> 離開  /a> br> br>
      
       %
      
      If Request.Form("log")>1 then
      
      If trim(Request.Form("talk"))="" then
      
      ' 判斷用戶是否沒有輸入任何內(nèi)容 
      
      talk=Session("nick")" 沉默是金。"
      
      Else
      
      talk=trim(Request.Form("talk"))
      ' 去掉字符后的空格 
      End If
      
      Application.lock
      Application("show")=" table border='0' cellpadding='0' cellspacing='0' width='85%' > tr> td width='100%' bgcolor='#C0C0C0'>〈/td〉〈/tr〉 tr> td width='100%'> font color='#0000FF'> 來自 "Request.ServerVariables("remote_addr")" 的 "Session("nick")time" 說: /font>"talk"〈/td〉〈/tr〉 tr> td width='100%' bgcolor='#C0C0C0'>〈/td〉〈/tr〉 /table> br>"Application("show")
      Application.UnLock
      
      Response.Write Application("show")
      
      End If
      
      End If
      %>

        

      下面我們來對(duì)這個(gè)聊天室程序進(jìn)行逐步的分析。
         首先,由于聊天室的所有客戶都要能夠共享信息,所以不可避免的要用到具有應(yīng)用程序級(jí)變量的對(duì)象 Application,這是建立 Chat 程序的關(guān)鍵所在,所有的談話數(shù)據(jù)都存放在一個(gè)應(yīng)用程序級(jí)變量中,以便讓所有的客戶讀取。我們可以用所學(xué)過的 request 對(duì)象獲取客戶所輸入的談話,并保存在變量 talk 中 , 然后將 talk 的值存入應(yīng)用程序級(jí)變量 show 中,如下 :

      % Application("show")=talkApplication("show") %>

         接下來要考慮的是當(dāng)不同的客戶同時(shí)向 Chat 應(yīng)用程序進(jìn)行操作的時(shí)候如何處理。這個(gè)問題其實(shí)與在數(shù)據(jù)庫中的兩個(gè)用戶同時(shí)寫入同一個(gè)記錄一樣,如果兩個(gè)用戶同時(shí)對(duì)同一個(gè)應(yīng)用程序級(jí)變量進(jìn)行寫操作,則一個(gè)用戶所作的修改會(huì)被另一個(gè)用戶的操作所覆蓋,所以,如果對(duì) Appliation 對(duì)象數(shù)據(jù)的并發(fā)訪問不采取一定措施,則會(huì)導(dǎo)致當(dāng)兩個(gè)用戶試圖同時(shí)對(duì) Asp 聊天室應(yīng)用程序提交時(shí),一個(gè)用戶的提交內(nèi)容會(huì)被另一個(gè)用戶的提交內(nèi)容所覆蓋,在被參加到會(huì)話中的任何人看到之前就消失了。為了避免這類問題的出現(xiàn),我們需要使用 Application 對(duì)象的 Lock 屬性來約束只允許當(dāng)前的用戶編輯或增加 Application 對(duì)象的屬性,這樣當(dāng)用戶開始修改應(yīng)用程序級(jí)變量開始,到 Application 對(duì)象被顯式地 Unlocked 為止,Application 對(duì)象的屬性只能被該用戶編輯,如果此時(shí)有其他用戶請(qǐng)求編輯 Application 對(duì)象,則這些用戶要排隊(duì)等待,知道應(yīng)用程序被 Unlock 為止。如下所示 :
      Application.lock
      Application("show")=talkApplication("show")
      Application.UnLock
         現(xiàn)在整個(gè)程序的核心部分你已經(jīng)了解了,下面考慮如何保存客戶信息,這里我們要用到一個(gè)會(huì)話級(jí)變量,即將客戶的 nick 保存在 Session 中。如:

      Session("nick")=Request.Form("nick")
         最后,我們要考慮的是如何僅在一個(gè) .asp 文件中處理各種事件 , 如 : 客戶登陸界面、客戶聊天界面。由于客戶第一次請(qǐng)求 .asp 文件時(shí),采用的是簡(jiǎn)單的 HTTP GET 方式,但是當(dāng)客戶向頁面上的表單字段中增加的數(shù)據(jù)并向自身提交表單后,.asp 文件會(huì)再次被請(qǐng)求,不過這次數(shù)據(jù)是經(jīng)過 HTTP POST 方式進(jìn)行傳遞的。文件被請(qǐng)求的方式可以用兩種方法來確定。一是測(cè)試 Request.Form 集合是否包含成員,若沒有,則表明沒有發(fā)送給表單處理的數(shù)據(jù)。二是使用 Request.ServerVariables("Request_Method") 變量。如果表單是通過 HTTP GET 方式被請(qǐng)求的,則這個(gè)變量會(huì)返回“GET”,如果表單被提交處理則返回“POST”。由于后一種方法對(duì)于確定文件的請(qǐng)求方式更直接,所以我們使用如下代碼進(jìn)行判斷 :
      if Request.ServerVariables("Request_Method")="GET" then
         由于我們?cè)O(shè)置了 ASP 緩存,所以當(dāng)程序判斷頁面請(qǐng)求方式為 GET 時(shí),程序運(yùn)行 Response.End,來結(jié)束后面的所有操作,否則則運(yùn)行 Response.clear, 清空緩存中已有的內(nèi)容,并繼續(xù)程序的運(yùn)行。這樣我們就得以用同一個(gè) .asp 文件根據(jù)不同情況給客戶顯示不同的界面。
         好了,我已經(jīng)將這個(gè) ASP Chat 程序的核心部分告訴大家了,剩下的一些細(xì)節(jié)性問題請(qǐng)各位自己讀程序吧,其實(shí)這個(gè)程序還存在很多不足之處,最大的毛病是我沒有寫自動(dòng)刷新的功能,因此如果你在Chat 中不說話,那也就看不到其他客戶所說的話了。

      Chat 在 Internet 中的魅力大家是知道的,其實(shí),用 ASP 也完全能做到同 irc 類似的強(qiáng)大功能,當(dāng)然這就需要寫更多的代碼,如果大家有興趣的話可以更深入的進(jìn)行學(xué)習(xí),和大家交流經(jīng)驗(yàn)成果。

      您可能感興趣的文章:
      • 利用ASP規(guī)劃聊天室
      • ASP編程入門進(jìn)階(十一):Chat聊天程序
      • 用PHP+MySQL搭建聊天室功能實(shí)例代碼
      • PHP實(shí)現(xiàn)簡(jiǎn)單聊天室(附源碼)
      • ASP.NET 使用application與session對(duì)象寫的簡(jiǎn)單聊天室程序
      • php socket實(shí)現(xiàn)的聊天室代碼分享
      • nodejs實(shí)現(xiàn)的一個(gè)簡(jiǎn)單聊天室功能分享
      • Java基于socket實(shí)現(xiàn)簡(jiǎn)易聊天室實(shí)例
      • Python實(shí)現(xiàn)的使用telnet登陸聊天室實(shí)例
      • php+html5基于websocket實(shí)現(xiàn)聊天室的方法
      • ASP.NET網(wǎng)站聊天室的設(shè)計(jì)與實(shí)現(xiàn)(第3節(jié))
      • AngularJS+Node.js實(shí)現(xiàn)在線聊天室
      • ASP建立一個(gè)簡(jiǎn)單的聊天室
      • php實(shí)現(xiàn)簡(jiǎn)易聊天室應(yīng)用代碼

      標(biāo)簽:汕頭 撫州 海南 揭陽 鶴崗 唐山 攀枝花 佛山

      巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《chat.asp聊天程序的編寫方法》,本文關(guān)鍵詞  chat.asp,聊天,程序,的,編寫,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
    1. 相關(guān)文章
    2. 下面列出與本文章《chat.asp聊天程序的編寫方法》相關(guān)的同類信息!
    3. 本頁收集關(guān)于chat.asp聊天程序的編寫方法的相關(guān)信息資訊供網(wǎng)民參考!
    4. 推薦文章
      主站蜘蛛池模板: 长沙市| 崇信县| 探索| 清水县| 阿坝| 长武县| 浦县| 寿光市| 温州市| 新龙县| 牡丹江市| 铁岭县| 昭通市| 四子王旗| 依兰县| 苏尼特右旗| 璧山县| 江源县| 株洲市| 徐闻县| 阳东县| 永和县| 如东县| 张家港市| 惠来县| 闻喜县| 长泰县| 黄大仙区| 边坝县| 松阳县| 左贡县| 梅河口市| 阿图什市| 泸定县| 黎平县| 榆中县| 丰台区| 赞皇县| 西丰县| 故城县| 霍州市|