在asp聊天室裡實現房間功能和使用者顯示

來源:互聯網
上載者:User

在我寫下了《在asp聊天室裡實現悄悄話功能》一文後,很多的朋友來信問我關於其他進階功能實現的問題。確實,例如房間、使用者管理等進階功能是一個完善的聊天室所必有的功能。在這裡面又以房間功能是比較難於實現的。因此我想和大家談談 這個問題。

我依然傾向於用數組來解決這兩個問題,這並不是說不能用資料庫來解決,但我們要考慮效能的問題。而且用數組有幾個好處,利於排序,利於控制總的長度。在伺服器記憶體中長駐(有利於效能的提高)。我先講一講房間的問題,這裡給出大家在兩個系統 房間中切換的方法。至於自建房間的方法,希望大家能觸類旁通。還有關於使用者線上顯示的問題,因為我們既要顯示各個房間的使用者和總的使用者,所以會和房間產生一些互動,在講的時候請大家注意。為了大家使用的方便,我盡量把這些功能寫成子程式或子函數,大家可以直接的應用。

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

以下為引用的內容:
<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 用來儲存逍遙遊聊天室的內容
application(application("gRoom_Name")&"_Number")=0 '用來儲存逍遙遊聊天室的談話的數目
application("養生主"&"_Value")=pChat_Value
application("養生主"&"_Number")=0

dim pChater_Value(150)
application(application("gRoom_Name")&"er_Value")=pChater_Value '用來儲存逍遙遊聊天室的聊天者的名字
application(application("gRoom_Name")&"er_Number")=0 '用來表示逍遙遊聊天室的上線的人數
application("養生主"&"er_Value")=pChater_Value
application("養生主"&"er_Number")=0

dim pRoom_Value(50)
pRoom_Value(0)="逍遙遊"&"("&"系統"&")"&"["&application(application("gRoom_Name")&"er_Number")&"]"&"人"
pRoom_Value(1)="養生主"&"("&"系統"&")"&"["&application("養生主"&"er_Number")&"]"&"人"
application("gRoom_Value")=pRoom_Value '用來儲存房間的名字
application("gRoom_Number")=2

End Sub

Sub Session_OnStart()
session("sRoom_Name")=application("gRoom_Name")'每個新使用者的預設房間
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 '一個Recordset的執行個體
End Sub

共3頁: 上一頁 1 [2] [3] 下一頁



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。