freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

聊天室的設(shè)計(jì)與開發(fā)畢業(yè)論文(編輯修改稿)

2025-07-25 21:33 本頁面
 

【文章內(nèi)容簡介】 聊天信息,可以給自己的聊天信息定義不用的顏色,還可以加上豐富的表情語言,這個(gè)聊天內(nèi)容大家都會看到;用戶還可以給某個(gè)用戶發(fā)送私人的聊天信息,這種信息屬于私聊信息,只有發(fā)送者和接收者自己可以看到;此外聊天窗口中還有一些系統(tǒng)公告,比如某某登陸聊天室、某某離開的消息。若用戶想退出,按退出鍵便可離開聊天室 。 3. 3. 2 聊天室功能模塊說明(1)登陸模塊——登陸頁():主要用于記錄登陸者——聊天者的昵稱、登陸時(shí)間、IP地址等信息。(2)談話模塊():主要用于發(fā)送談話內(nèi)容,選擇私聊對象,清空談話內(nèi)容,選擇動作,顯示幫助文件,退出等多項(xiàng)功能。(3)顯示模塊:分為對所有人和私聊兩部分。對所有人的為(),私聊為()。實(shí)現(xiàn)了對話內(nèi)容,動作等的顯示。(4)人員列表():顯示所有聊天人員名稱,可以提供自動和手工刷新人員列表的功能。(5)功能模塊:主要用于管理聊天室,包括屏蔽,分屏,刷新等功能按鈕。(6)站名和聊天室名顯示模塊:顯示站名和聊天室名。 聊天室的框架設(shè)計(jì) 3. 4. 1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)當(dāng)用戶向服務(wù)器聊天室所在頁面提出瀏覽請求時(shí),將得到一個(gè)(一組)ASP返回頁,也即是已經(jīng)進(jìn)入聊天室。如圖31所示:Web服務(wù)器用戶工作站用戶工作站服務(wù)器向用戶端響應(yīng)返回ASP頁面瀏覽器向服務(wù)器提出請求服務(wù)器向用戶端響應(yīng)返回ASP頁面瀏覽器向服務(wù)器提出請求。圖31 系統(tǒng)結(jié)構(gòu)圖 3. 4. 2 系統(tǒng)流程設(shè)計(jì)聊天室系統(tǒng)的總體流程由用戶登錄開始,通過驗(yàn)證后,用戶便可以進(jìn)入聊天頁面進(jìn)行交流聊天,同時(shí),系統(tǒng)會將新登錄用戶的用戶名添加進(jìn)在線用戶列表,即時(shí)更新,總體流程圖如圖32所示:開 始 進(jìn)入聊天室登錄界面 離開聊天室 進(jìn)入聊天室主界面 輸入并發(fā)送信息text. aspChat. asp 顯示私聊 顯示對所有人信息圖32 系統(tǒng)流程結(jié)構(gòu)圖根據(jù)系統(tǒng)流程結(jié)構(gòu),對系統(tǒng)流程做進(jìn)一步的詳細(xì)設(shè)計(jì),如圖33所示。進(jìn)入登錄界面時(shí)會有普通用戶和管理員兩個(gè)選擇。普通用戶可以進(jìn)行用戶注冊,用戶登錄,密碼忘記時(shí)找回密碼等功能;進(jìn)入聊天室后可以創(chuàng)建聊天室也可以選擇一個(gè)已經(jīng)創(chuàng)建好的房間進(jìn)入。管理員則直接登錄后對房間和用戶進(jìn)行管理。圖33 系統(tǒng)流程設(shè)計(jì)圖 3. 4. 3 系統(tǒng)功能模塊設(shè)計(jì) 根據(jù)聊天室的主要功能分析,本系統(tǒng)一共分為七大功能模塊;用戶注冊模塊,用戶登錄模塊,用戶找回密碼模塊,用戶發(fā)言模塊,聊天內(nèi)容顯示模塊,在線用戶列表顯示模塊和管理功能模塊,如圖34所示。圖 34 系統(tǒng)功能模塊圖(1)聊天室系統(tǒng)前臺功能模塊設(shè)計(jì)根據(jù)聊天室的主根據(jù)聊天室的主要功能分析,本系統(tǒng)前臺一共分為六大功能模塊:用戶瀏覽模塊、用戶注冊模塊、找回密碼模塊、用戶登錄模塊、在線用戶管理模塊、用戶聊天模塊。如圖35所示:圖 35 聊天室前臺功能圖(2) 聊天室系統(tǒng)后臺功能模塊設(shè)計(jì)本系統(tǒng)后臺則一共分為三大模塊:管理員登陸模塊、聊天室房間管理模塊和聊天室用戶管理模塊。如圖36所示:圖36 聊天室后臺功能圖4 數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫 4. 1. 1 數(shù)據(jù)庫簡介數(shù)據(jù)庫技術(shù)涉及到許多基本概念,主要包括:信息,數(shù)據(jù),數(shù)據(jù)處理,數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng)以及數(shù)據(jù)庫系統(tǒng)等。數(shù)據(jù)庫技術(shù)的產(chǎn)生,主要目的是有效地管理和存取大量的數(shù)據(jù)資源,數(shù)據(jù)庫技術(shù)主要研究如何存儲,使用和管理數(shù)據(jù)。采用何種數(shù)據(jù)庫,不僅可以有效地應(yīng)用于事務(wù)處理,使得人們的生活、工作更加的方便快捷。當(dāng)今流行的大部分?jǐn)?shù)據(jù)庫,像Access, SQL Server, Oracle等,皆可與ASP兼容,教學(xué)網(wǎng)站的后臺設(shè)計(jì),采用何種數(shù)據(jù)庫成為了大多數(shù)網(wǎng)站設(shè)計(jì)者所要思考的一個(gè)問題[9]。 4. 1. 2 數(shù)據(jù)庫的選擇目前ASP WEB常用的數(shù)據(jù)庫有ACCESS和SQL,一般的虛擬主機(jī)用戶或者是小站點(diǎn)用戶都使用ACCESS作為自己的站點(diǎn)數(shù)據(jù)庫。大型的站點(diǎn)一般都用SQL(MSSQL)。隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,Web已成為人們進(jìn)行信息交流的重要工具,Web站點(diǎn)也日益流行起來,在Web上訪問數(shù)據(jù)庫更是作為一項(xiàng)重要的數(shù)據(jù)庫技術(shù)不斷得到發(fā)展。ASP是服務(wù)器端的腳本編寫環(huán)境,使用它可以創(chuàng)建和運(yùn)行動態(tài)、交互的Web服務(wù)器應(yīng)用程序。開發(fā)人員可以使VBScript、JavaScript、REXX、Perl等腳本語言作為開發(fā)工具,編寫適應(yīng)自己特殊需要的腳本,并利用這些腳本調(diào)用ActiveX服務(wù)器組件來實(shí)現(xiàn)和擴(kuò)充復(fù)雜的功能。同時(shí),由于這一系列事件均是在服務(wù)器端完成,所以利用ASP技術(shù)還有效地保證了系統(tǒng)的安全性和開發(fā)人員的知識產(chǎn)權(quán)。ASP內(nèi)置了許多功能強(qiáng)大的ActiveX Server組件,對數(shù)據(jù)庫而言,其組件使用ADO(Active Data Objects)技術(shù)來存取符合ODBC(Open Database Connectivity)標(biāo)準(zhǔn)的數(shù)據(jù)庫。首先要建立一個(gè)符合實(shí)際需要的數(shù)據(jù)庫,包括建立各個(gè)表格、索引和存儲過程等。而本課題《聊天室》適合采用規(guī)模中等的數(shù)據(jù)庫,因此選擇SQL Server 2008數(shù)據(jù)庫,與同級別的數(shù)據(jù)庫相比,執(zhí)行效率較高,調(diào)試程序方便。[9] 數(shù)據(jù)庫概念模型根據(jù)系統(tǒng)功能和流程所需數(shù)據(jù)要求,可以確定數(shù)據(jù)庫中數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu),其ER圖如41所示:圖41 數(shù)據(jù)庫ER圖ER圖是最常用的概念模型表示方法,也是數(shù)據(jù)庫的核心和基礎(chǔ),它是按用戶的觀點(diǎn)來對數(shù)據(jù)和信息建模的。 數(shù)據(jù)庫各表的設(shè)計(jì)對于聊天室系統(tǒng),所需的數(shù)據(jù)庫表有AdminInfo、RoomInfo、UserInfo和UserOnline四張表。AdminInfo表用于存放管理員的基本信息,如圖42所示:圖42 AdminInfo表RoomInfo表用于存放聊天室房間的基本信息,如圖43所示:圖43 RoomInfo表UserInfo表用于存放用戶的基本信息,如圖44所示:圖44 UserInfo表UserOnline表用于存放在線用戶的基本信息,如圖45所示:圖45 UserOnline表 數(shù)據(jù)庫連接的實(shí)現(xiàn)數(shù)據(jù)庫連接操作是一個(gè)相當(dāng)頻繁的操作,在ASP的數(shù)據(jù)庫編程中,connection對象是連接數(shù)據(jù)庫不可能離開的一個(gè)對象,該對象時(shí)AD0對象模塊中的一個(gè)專門打開和關(guān)閉數(shù)據(jù)庫連接的對象,在對數(shù)據(jù)庫進(jìn)行任何的操作,比如更新記錄,插入,刪除,檢索等,都必須以connection對象的建立為前提。形象地來說,connection對象就是程序與數(shù)據(jù)庫溝通的管道,所有對數(shù)據(jù)庫的操作,都能在它的基礎(chǔ)上建立Recordset對象實(shí)例來操作數(shù)據(jù)庫。這里首先利用connection對象的屬性ConnStr設(shè)置數(shù)據(jù)庫的連接方式,使用的是Access OLE DB驅(qū)動。,使用connection對象的Open方法打開數(shù)據(jù)庫連接,核心代碼如下:%@LANGUAGE=VBSCRIPT CODEPAGE=936%%39。數(shù)據(jù)庫連接方法39。定義conn和connstr變量dim conn,connstr39。連接數(shù)據(jù)庫chat,設(shè)置用戶名為sa,密碼為1234567,服務(wù)器為MYSERVERconnstr=Driver={sql server}。uid=sa。pwd=caiGCWGX90。database=chat。SERVER=CAIPC39。創(chuàng)建一個(gè)ADO Connection對象set conn=() 39。打開數(shù)據(jù)庫 connstr%(Path)方法,作用是將(path)指定的虛擬路徑轉(zhuǎn)換為實(shí)際路徑,大大提高了本系統(tǒng)的移植性。5 聊天室的實(shí)現(xiàn) 聊天室的功能概述通過登錄界面進(jìn)入聊天室后,用戶進(jìn)入聊天室,用戶可以從聊天用戶窗口看到該聊天室中所有用戶id;在聊天窗口中看到隨時(shí)更新的聊天信息;用戶可以給所有人或某一個(gè)聊天用戶發(fā)送公共的聊天信息,可以給自己的聊天信息定義不用的顏色,還可以加上豐富的表情語言,這個(gè)聊天內(nèi)容大家都會看到;用戶還可以給某個(gè)用戶發(fā)送私人的聊天信息,這種信息屬于私聊信息,只有發(fā)送者和接收者自己可以看到;此外聊天窗口中還有一些系統(tǒng)公告,比如某某登陸聊天室、某某離開的消息。若用戶想退出,按退出鍵便可離開聊天室 。根據(jù)以上的功能, 無論使用何種手段實(shí)現(xiàn)聊天室程序,都應(yīng)能解決如下一些技術(shù)要點(diǎn): (1)如何組織、存儲所有聊天者所說的話(即聊天信息),以期達(dá)到最基本的能在多個(gè)用戶(即多個(gè)聊天者)之間實(shí)現(xiàn)信息共享。聊天室程序的速度瓶頸(如果有的話)就在這里。當(dāng)然還有一類數(shù)據(jù)如聊天者的個(gè)人資料,以及其在本聊天室中目前的權(quán)限級別等等,此類數(shù)據(jù)因無須共享,對聊天的速度并沒有本質(zhì)上的影響,所以系統(tǒng)降低了對它們進(jìn)行組織存儲的要求,可以使用磁盤文件,也可以借助于Web后臺數(shù)據(jù)庫(如MSSQLServer)等進(jìn)行存儲。(2)如何實(shí)現(xiàn)登陸功能。(3)如何實(shí)現(xiàn)人員列表。(4)如何實(shí)現(xiàn)公共聊天和私聊。(5)如何解決聊天刷新。(6)如何實(shí)現(xiàn)聊天室踢人功能。(7)如何實(shí)現(xiàn)封鎖IP功能。(8)如何實(shí)現(xiàn)表情。(9)如何實(shí)現(xiàn)屏蔽功能。 聊天室的主要功能實(shí)現(xiàn) 5. 2. 1 信息的組織、存儲、共享的實(shí)現(xiàn) 在實(shí)際應(yīng)用中,聊天室程序并不需要存儲所有聊天者所說的所有話,而僅需存儲正在室內(nèi)的聊天者們最近所說的若干句話(視系統(tǒng)特點(diǎn)、程序制作者風(fēng)格等而定,一般在20 60句話不等,當(dāng)然能讓聊天者自己在一定的范圍內(nèi)進(jìn)行選擇設(shè)定為最好),這些信息也無須作長期永久性的存儲。因此,我們可舍棄磁盤文件及后臺數(shù)據(jù)庫的方法,直接使用內(nèi)存進(jìn)行操作,這樣可大大提高信息的讀寫速度,從而能較好地解決聊天室的速度瓶頸問題。 同時(shí),這些信息經(jīng)過組織存儲后,在聊天者的瀏覽器端顯示時(shí)要求具有順序性,為了便于顯示、加快顯示速度,對這些信息要求具有操作的連續(xù)性。不管在何種語言中,數(shù)組是能同時(shí)滿足這兩項(xiàng)要求的數(shù)據(jù)結(jié)構(gòu)之一。 在聊天室程序中,完成了信息的組織存儲,仍有另一關(guān)鍵技術(shù)待解決:如何能在多個(gè)程序或一個(gè)程序的多個(gè)運(yùn)行實(shí)例之間進(jìn)行信息共享。這一技術(shù)在不同的編程語言中有不同的解決思路,如共享內(nèi)存,數(shù)據(jù)文件;或者使用服務(wù)器/客戶模式程序?qū)崿F(xiàn)在多個(gè)程序間完成數(shù)據(jù)交換。 由于Application對象的設(shè)置值為應(yīng)用的所有用戶共享,我們可以用它來保存聊天室的發(fā)言。為了便于處理,引入一個(gè)數(shù)組來存放發(fā)言,在global. asa文件的Application OnStart事件代碼中定義數(shù)組并將其賦給一個(gè)Application對象,數(shù)組的大小定為12,是為了限定顯示行數(shù)為12行,保證用戶閱讀信息的方便,不用拉動垂直滾動條。利用模12運(yùn)算按循環(huán)隊(duì)列機(jī)制來填寫數(shù)組,并將最新錄入的發(fā)言顯示在最底部。代碼如下所示:global. asaSCRIPT LANGUAGE=VBScriptRU NAT=ServerSUB Dim m chats (12) application(”gchats)=m chats application(gcounte r)=0end sub/SCRIPT為了防止兩個(gè)用戶為寫入發(fā)言同時(shí)對Application對象變量修改,從而導(dǎo)致一個(gè)用戶的所作的修改被另一個(gè)用戶的操作所覆蓋,必須解決多用戶并發(fā)寫入問題,Application對象的Locked屬性可以用來只允許當(dāng)前用戶編輯Application對象的值,操作結(jié)束必須用UnLocked來釋放其對Application對象的獨(dú)占。如果在加鎖時(shí)有其他用戶請求編輯Application對象,則這些用戶要排隊(duì)等待,直到Application對象被解鎖。為了處理方便,在該程序中創(chuàng)建了Application對象變量的本地引用,這樣做是為了簡化代碼,使用簡短的本地變量而不是繁瑣的名字, 如: Application( gchats)。 5. 2. 2 登陸功能的實(shí)現(xiàn)要實(shí)現(xiàn)登陸的功能就是在用戶輸入昵稱的時(shí)候判斷是否為空或者是否昵稱重復(fù),如果是則不能進(jìn)入聊天室,要求用戶重新輸入,如果否則用戶進(jìn)入聊天室。這里只需要一個(gè)判斷語句就可以完成,把表單中的nickname文本框中的內(nèi)容存入nickname變量中,并判斷nickname變量是否為空,如果是則返回登陸界面;如果不是則把“來自‘某IP地址’的‘某某同學(xué)’在‘某時(shí)間’來到我們身邊啦!!”這句話存入application(“show”)變量中(這樣同時(shí)實(shí)現(xiàn)了系統(tǒng)公告)。并通過以下代碼:session(sname)=nickname application(sname)=nickname application(allname)=nicknameamp。application(allname)來獲得所有人的名字。返回到聊天界面。管理員登陸界面如圖51所示,用戶登陸界面如圖52所示。圖 51 管理員登陸界面圖52 用戶登陸界面 5. 2. 3 人員列表的實(shí)現(xiàn)(allname)中的名字使用%=application(allname)%顯示出來,在這里利用%if b1=刷新列表 then () end if %實(shí)現(xiàn)手工刷新。 5. 2. 4 公共聊天和私聊功能的實(shí)現(xiàn)公共聊天功能的實(shí)現(xiàn)思路:對于
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1