在asp聊天室里實(shí)現(xiàn)房間功能和用戶顯示_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:ASP中檢查沒有數(shù)據(jù)提交的頁面
      用戶在訪問站點(diǎn)時(shí)經(jīng)常遇到一些煩人的信息,比如他們經(jīng)常不知何故地在沒有實(shí)際提交數(shù)據(jù)給表單時(shí)就到了下一個(gè)頁面,或者經(jīng)常達(dá)到一個(gè)頁面,它是以查詢字符串的形式轉(zhuǎn)來的,比如?ID=236454。 如

      在我寫下了《在asp聊天室里實(shí)現(xiàn)悄悄話功能》一文后,很多的朋友來信問我關(guān)于其他高級功能實(shí)現(xiàn)的問題。確實(shí),例如房間、用戶管理等高級功能是一個(gè)完善的聊天室所必有的功能。在這里面又以房間功能是比較難于實(shí)現(xiàn)的。因此我想和大家談?wù)?這個(gè)問題。

      我依然傾向于用數(shù)組來解決這兩個(gè)問題,這并不是說不能用數(shù)據(jù)庫來解決,但我們要考慮性能的問題。而且用數(shù)組有幾個(gè)好處,利于排序,利于控制總的長度。在服務(wù)器內(nèi)存中長駐(有利于性能的提高)。我先講一講房間的問題,這里給出大家在兩個(gè)系統(tǒng) 房間中切換的方法。至于自建房間的方法,希望大家能觸類旁通。還有關(guān)于用戶在線顯示的問題,因?yàn)槲覀兗纫@示各個(gè)房間的用戶和總的用戶,所以會和房間產(chǎn)生一些互動,在講的時(shí)候請大家注意。為了大家使用的方便,我盡量把這些功能寫成子程序或子函數(shù),大家可以直接的應(yīng)用。

      我們先看在gloable.asa中的定義,這很重要。

      以下為引用的內(nèi)容:
      <SCRIPT LANGUAGE="VBScript" RUNAT="Server">

      Sub Application_OnStart()
      application("gRoom_Name")="逍遙游" '保存主聊天室的名字,所有人先到的聊天室

      dim pChat_Value(50)
      application(application("gRoom_Name")&"_Value")=pChat_Value 'p代表private g代表globle 用來保存逍遙游聊天室的內(nèi)容
      application(application("gRoom_Name")&"_Number")=0 '用來保存逍遙游聊天室的談話的數(shù)目
      application("養(yǎng)生主"&"_Value")=pChat_Value
      application("養(yǎng)生主"&"_Number")=0

      dim pChater_Value(150)
      application(application("gRoom_Name")&"er_Value")=pChater_Value '用來保存逍遙游聊天室的聊天者的名字
      application(application("gRoom_Name")&"er_Number")=0 '用來表示逍遙游聊天室的上線的人數(shù)
      application("養(yǎng)生主"&"er_Value")=pChater_Value
      application("養(yǎng)生主"&"er_Number")=0

      dim pRoom_Value(50)
      pRoom_Value(0)="逍遙游"&"("&"系統(tǒng)"&")"&"["&application(application("gRoom_Name")&"er_Number")&"]"&"人"
      pRoom_Value(1)="養(yǎng)生主"&"("&"系統(tǒng)"&")"&"["&application("養(yǎng)生主"&"er_Number")&"]"&"人"
      application("gRoom_Value")=pRoom_Value '用來保存房間的名字
      application("gRoom_Number")=2

      End Sub

      Sub Session_OnStart()
      session("sRoom_Name")=application("gRoom_Name")'每個(gè)新用戶的默認(rèn)房間
      session("sChater_Name")="" 's代表session 用來保存說話者的名字
      strProvider="Driver={Microsoft Access Driver (*.mdb)}; DBQ="&server.mappath("../chat")&"\"&"db\Chater_Message.mdb;"
      set Cres=server.createobject("ADODB.Connection")
      set res=server.createobject("ADODB.Recordset")
      Cres.open strProvider
      res.activeconnection=Cres
      set session("res")=res '一個(gè)Recordset的實(shí)例
      End Sub

      分享:ASP后門之終極偽裝
      記得當(dāng)年asp木馬出來的時(shí)候號稱“永不被殺的木馬”,呵呵,時(shí)至今日,隨便什么殺毒軟件都能將其殺得片甲不留^_^呵呵,受到木馬換殼躲避殺毒軟件思路影響,我們也可以給asp木馬“

      共3頁上一頁123下一頁
      來源:模板無憂//所屬分類:ASP教程/更新時(shí)間:2008-08-22
      相關(guān)ASP教程