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

正文內(nèi)容

基于java實(shí)現(xiàn)聊天室范文畢業(yè)論文-文庫(kù)吧資料

2025-06-04 22:34本頁(yè)面
  

【正文】 析。圖 19:有用戶退出時(shí)的服務(wù)器端若在運(yùn)行中服務(wù)器被停止,則服務(wù)器端會(huì)提示服務(wù)器已停止,并且當(dāng)前在線人數(shù)變?yōu)?0,客戶端在連接狀態(tài)欄中會(huì)有連接失敗的提示,收發(fā)信息將會(huì)不成功。圖 53 為 user2 所在的客戶端。這時(shí),系統(tǒng)可以顯示出登錄的用戶人數(shù)和用戶的聊天信息。 } 系統(tǒng)測(cè)試首先,管理員在登錄界面中輸入用戶名和密碼進(jìn)入到服務(wù)器端。 ()。i()。 (constr)。 ()。最后清除已發(fā)送的信息。 } try{ (100)。 broadcast(broadcastInfor)。j++){ string=(String)(j)。 for(int j=0。 msgStack=。i()。當(dāng)客戶在發(fā)送信息文本框中寫好信息后,可以有兩種發(fā)送方式,一種方法是點(diǎn)擊發(fā)送按鈕,另一種方法在鍵盤上敲擊“ENTER” 。 (textField2)。 (new textField2_KeyAdapter(this))。} 聊天室發(fā)送信息(new (){ public void actionPerformed(ActionEvent e){ button2_actionPerformed(e)。}catch(Exception e){display(connect failed!)。skLive=()。()。String userInfo=loginName+:。toServer=new PrintStream(())。sk=new Socket(ipAdd,intPort)。intPort=(())。}while(i())。} i++。 }else{(TAKEN)。(c)。}int i=0。if(clientSk!=null){ display(clientSk+join in )。}()。display(服務(wù)器已啟動(dòng)!)。 ss=new ServerSocket(intPort)。 IAddress host=()。在此界面中用戶可以實(shí)現(xiàn)向其他用戶發(fā)送信息,接收其他用戶發(fā)送的信息,查看當(dāng)前和服務(wù)器的連接狀態(tài)。聊天室模塊流程圖如圖 15所示。首先,用戶在登錄界面中輸入用戶名和密碼經(jīng)過(guò)系統(tǒng)驗(yàn)證后進(jìn)入到聊天室中,同時(shí),如果服務(wù)器已經(jīng)啟動(dòng),系統(tǒng)自動(dòng)將聊天室連接上服務(wù)器,用戶可以使用聊天室,并且在服務(wù)器端有用戶登錄的提示。在此界面中可以實(shí)現(xiàn)對(duì)系統(tǒng)服務(wù)器的啟動(dòng)和關(guān)閉,查看在線用戶人數(shù)和用戶的聊天信息。服務(wù)器管理模塊流程圖如圖 13 所示:管理員身份驗(yàn)證管理員界面關(guān)閉服務(wù)器啟動(dòng)服務(wù)器 查看在線用戶人數(shù)開(kāi)始結(jié)束提示用戶名或密碼錯(cuò)誤正確 錯(cuò)誤查看聊天信息圖 13:服務(wù)器管理模塊流程圖下面對(duì)服務(wù)器管理程序流程圖做簡(jiǎn)要敘述。系統(tǒng)在收到發(fā)送信息后查詢數(shù)據(jù)庫(kù),如果在數(shù)據(jù)庫(kù)中存有相同的信息,則運(yùn)行管理員界面。 數(shù)據(jù)庫(kù)設(shè)計(jì)本次數(shù)據(jù)庫(kù)開(kāi)發(fā)工具為 Microsoft SQL Server 2022,具體設(shè)計(jì)的表單如下:表 1:用戶信息表字段名 類型 大小 允許空 備注username nvarchar 20 否 用戶名password nvarchar 20 否 密碼Truename nvarchar 10 是 真實(shí)姓名country nvarchar 16 是 所屬地區(qū)fav nvarchar 20 是 傳真tel nvarchar 20 是 電話表 2:管理員信息表字段名 類型 大小 允許空 備注username nvarchar 20 否 用戶名password nvarchar 20 否 密碼 系統(tǒng)功能模塊詳細(xì)設(shè)計(jì)管理員登錄模塊流程圖如圖 12 所示: 開(kāi)始輸入用戶名與密碼查詢數(shù)據(jù)庫(kù)是否有這條記錄?進(jìn)入管理員界面提示用戶名或密碼錯(cuò)誤結(jié)束圖 12:管理員登錄模塊流程圖下面對(duì)管理員登錄程序流程圖做簡(jiǎn)要敘述。首先,用戶登錄是指用戶通過(guò)輸入用戶名和密碼進(jìn)入到聊天室中,并且聊天室自動(dòng)連接上服務(wù)器。而服務(wù)器管理是指管理員進(jìn)入到服務(wù)器端界面后,對(duì)系統(tǒng)的服務(wù)器端所做的一些操作,如啟動(dòng)、停止服務(wù)器,查看當(dāng)前用戶連接人數(shù),和用戶的聊天信息。系統(tǒng)功能模塊圖如圖 11 所示:基于 JAVA 實(shí)現(xiàn)聊天室服務(wù)器端 客戶端管理員登錄服務(wù)器管理用戶登錄聊天室啟動(dòng),停止服務(wù)器當(dāng)前連接人數(shù)用戶聊天信息 連接服務(wù)器 接收信息 認(rèn)證用戶 連接狀態(tài) 顯示信息 發(fā)送信息圖 11:系統(tǒng)功能模塊圖1.服務(wù)器端模塊介紹:該模塊分為管理員登錄和服務(wù)器管理兩個(gè)子模塊?;?C/S 的 Java 聊天室系統(tǒng)的作用是提供給人們一個(gè)平臺(tái)進(jìn)行相互交流,在交流的過(guò)程中可能出現(xiàn)的情況也是不同的。對(duì)客戶端來(lái)說(shuō)用戶名是可見(jiàn)的,客戶端提供對(duì)用戶名的操作。服務(wù)器客戶代理 客戶端線程用戶名用戶Socket圖 10: 聊天室設(shè)計(jì)圖 服務(wù)器使用多線程,每個(gè)線程對(duì)應(yīng)一個(gè)客戶端,但線程通過(guò)客戶代理同客戶端交流,在客戶代理中有兩個(gè)重要信息:一個(gè)是用戶名,一個(gè)是用戶名對(duì)應(yīng)的 Socket。其最重要的功能就是實(shí)現(xiàn)了聊天信息的快速性,改變了傳統(tǒng)的面對(duì)面聊天信息不確定因素多,安全性低的狀況。系統(tǒng)設(shè)計(jì)遵循的原則是:系統(tǒng)性、適應(yīng)性、穩(wěn)健性、經(jīng)濟(jì)性。系統(tǒng)設(shè)計(jì)分為:總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)。第四章 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)是本系統(tǒng)開(kāi)發(fā)的重要階段,它直接影響到目標(biāo)系統(tǒng)的質(zhì)量,是整個(gè)開(kāi)發(fā)工作的核心。從自身能力來(lái)看,本人在大學(xué)三年級(jí)時(shí)對(duì) Java 語(yǔ)言進(jìn)行過(guò)一個(gè)學(xué)期的系統(tǒng)學(xué)習(xí),對(duì) Java 有一定的了解和掌握。JBuilder5 新增幾個(gè)新功能,并對(duì)已有的功能進(jìn)行了改造,包括一個(gè)單步產(chǎn)品安裝過(guò)程,以及自動(dòng)卸載功能。用于網(wǎng)絡(luò)、分布環(huán)境下的 Java 必須要防止病毒的入侵,Java 不支持指針,一切對(duì)內(nèi)存的訪問(wèn)都必須通過(guò)對(duì)象的實(shí)例變量來(lái)實(shí)現(xiàn),這樣就防止了程序員使用欺騙手段訪問(wèn)對(duì)象的私有成員,同時(shí)也避免了指針操作中容易產(chǎn)生的錯(cuò)誤。 Java 程序可以有多個(gè)執(zhí)行線程,如可以讓一個(gè)線程進(jìn)行復(fù)雜的計(jì)算,而讓另一個(gè)線程與用戶進(jìn)行交互,這樣用戶可以在不中斷計(jì)算線程的前提下與系統(tǒng)進(jìn)行交互。 多線程使應(yīng)用程序可以同時(shí)進(jìn)行不同的操作,處理不同的事件。 Java 同樣支持繼承特性,Java 的類可以從其它類中繼承行為,但 Java 只支持類的單重繼承,即每個(gè)類只能從一個(gè)類中繼承。 Java 是一種完全面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它除了數(shù)組、布爾和字符三個(gè)基本數(shù)據(jù)類型外的其它類都是對(duì)象,它不再支持全局變量。 Java 提供了簡(jiǎn)單的類機(jī)制和動(dòng)態(tài)的構(gòu)架模型。Java 實(shí)現(xiàn)了自動(dòng)的垃圾收集,簡(jiǎn)化了內(nèi)存管理的工作。聊天室系統(tǒng)總體 ER 圖如圖 7 所示:客戶 管理員客戶管理聊天 管理圖 7 聊天室系統(tǒng)總體 ER 圖登錄界面 用戶名,密碼核對(duì)聊天室界面發(fā)送聊天信息接收聊天信息查看連接狀態(tài)口令錯(cuò)誤口令核對(duì)口令正確聊天室系統(tǒng)管理員屬性圖如圖 8 所示:管理員 管理員密碼管理員用戶名圖 8: 管理員屬性圖聊天室系統(tǒng)客戶個(gè)人資料屬性圖如圖 9 所示:客戶用戶名傳真 真實(shí)姓名電話密碼地區(qū)圖 9: 客戶個(gè)人資料屬性圖 系統(tǒng)可行性分析從技術(shù)發(fā)面來(lái)看,Java 語(yǔ)言的優(yōu)點(diǎn)主要表現(xiàn)在:簡(jiǎn)單、面向?qū)ο蟆⒍嗑€程、安全性等方面。用戶信息記錄用戶的資料。管理員界面 2 級(jí)數(shù)據(jù)流圖:登錄界面 用戶名,密碼核對(duì)管理員界面啟動(dòng)/停止服務(wù)器查看在線用戶人數(shù)查看用戶聊天信息口令核對(duì)口令正確口令錯(cuò)誤圖 5:管理員界面 2 級(jí)數(shù)據(jù)流圖聊天室界面 2 級(jí)數(shù)據(jù)流圖:圖 6: 聊天室界面 2 級(jí)數(shù)據(jù)流圖 系統(tǒng)數(shù)據(jù)分析在仔細(xì)調(diào)查聊天室過(guò)程的基礎(chǔ)上,總結(jié)出該系統(tǒng)需要滿足以下系統(tǒng)數(shù)據(jù)的需求:系統(tǒng)管理員資料。用戶的用戶名,聊天信息在管理員界面都可以顯示出來(lái)。情況 2:管理員停止服務(wù)器,管理員界面中所有的用戶信息都將不再刷新,而用戶所在聊天界面都將有服務(wù)器停止的提示。聊天室系統(tǒng)管理員 管理員用戶 用戶啟/停服務(wù)器發(fā)送信息用戶信息接收信息圖 4:系統(tǒng)頂級(jí)數(shù)據(jù)流圖管理員的操作經(jīng)過(guò)聊天室系統(tǒng)將反饋給管理員自己和用戶。聊天室系統(tǒng)運(yùn)行穩(wěn)定、安全性高、性能可靠。(6)服務(wù)器狀態(tài),聊天信息和在線用戶人數(shù)及時(shí)刷新。(4)一個(gè)用戶退出聊天室對(duì)其他用戶不能產(chǎn)生影響,而服務(wù)器斷開(kāi)與客戶端的連接則所有的用戶都失去與服務(wù)器的連接。首先,管理員進(jìn)入到管理界面后可以方便的啟動(dòng)/停止服務(wù)器,看到在線用戶的信息和聊天信息。(2)不論是管理員還是用戶都需要在登錄界面輸入正確的用戶名和密碼后才可以登錄到各自的界面中去。用戶經(jīng)登錄界面都進(jìn)入聊天大廳。3.2 系統(tǒng)功能分析3.2.1 系統(tǒng)的功能需求聊天室程序通常需要完成以下一些基本功能:登錄聊天室;啟動(dòng)服務(wù)器;關(guān)閉服務(wù)器;用戶之間的聊天;退出聊天室。如果用戶已經(jīng)登錄了聊天室,而服務(wù)器還沒(méi)有啟動(dòng),則用戶是不可以利用聊天室收發(fā)信息的。用戶只需要在登錄界面中輸入正確的用戶名和密碼即可登錄聊天室并且連接上服務(wù)器。管理員在管理界面中可以隨時(shí)關(guān)閉服務(wù)器。管理員在經(jīng)過(guò)登錄界面進(jìn)入管理員界面,即系統(tǒng)的服務(wù)器端并啟動(dòng)服務(wù)器后。在 ASP 中,只要訪問(wèn)數(shù)據(jù)庫(kù),就必然會(huì)使用 SQL 語(yǔ)言。Transactsql(又稱為 tsql)是 Sql Server 2022 在標(biāo)準(zhǔn)的 SQL 語(yǔ)句上進(jìn)行了擴(kuò)充的語(yǔ)言,是交互式的結(jié)構(gòu)化查詢語(yǔ)言,能夠完成對(duì) Sql Server 2022 數(shù)據(jù)庫(kù)的所有操作。2.企業(yè)管理器企業(yè)管理器提供了一種圖形化界面來(lái)操作數(shù)據(jù)庫(kù)對(duì)象,在該界面中可以進(jìn)行數(shù)據(jù)庫(kù)、表等數(shù)據(jù)對(duì)象的創(chuàng)建、查詢、修改、刪除等操作,可以完成 Sql Server 2022 中絕大多數(shù)的管理工作。Sql Server 2022 的重要管理工具:1.服務(wù)管理器可以通過(guò)服務(wù)管理器啟動(dòng)、停止、暫停 Sql Server 服務(wù)器的相關(guān)服務(wù)。一經(jīng)推出,就受到了專業(yè)人士的好評(píng),目前已經(jīng)成為 web 數(shù)據(jù)庫(kù)系統(tǒng)中較為常用的一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)。因此用戶可以通過(guò)創(chuàng)建 Thread 的實(shí)例或定義并創(chuàng)建 Thread 子類的實(shí)例建立和控制自己的線程序 [7]。線程模型在 Java 中是由 類進(jìn)行定義和描述的。(2)該 CPU 執(zhí)行的代碼。Java 中的線程模型包含三部分。因此,線程被認(rèn)為是以 CPU 為主體的行為。2.5 Java 中的線程模型簡(jiǎn)介線程是程序中的一個(gè)執(zhí)行流。[13]客戶機(jī)首先創(chuàng)建一個(gè) Socket 對(duì)象,用于和服務(wù)器的通信。這個(gè)新的 Socket 對(duì)象將連接到一些新端口,負(fù)責(zé)處理與之相對(duì)應(yīng)客戶機(jī)的通信。服務(wù)器使用 ServerSocket類來(lái)處理客戶機(jī)的連接請(qǐng)求。由于 Server 端的輸出流是服務(wù)端的輸入流,Server 端的輸入流是服務(wù)器的輸出流,反之亦然,所以,Client 與 Server 可以通過(guò)讀寫各自 Socket 進(jìn)行交流。服務(wù)器客戶端監(jiān)聽(tīng)端口連接請(qǐng)求圖 2: 服務(wù)器監(jiān)聽(tīng)客戶的連接請(qǐng)求服務(wù)器一旦接收到客戶機(jī)的連接請(qǐng)求,服務(wù)器選擇一個(gè)新的端口并綁定一個(gè)新的Socket 與客戶端建立的 Socket 對(duì),這個(gè)過(guò)程如圖 3 所示。通常在服務(wù)器的指定端口被綁定一個(gè)Socket,此時(shí)服務(wù)器只是處于等待狀態(tài),監(jiān)聽(tīng)客戶的連接請(qǐng)求。服務(wù)器 客戶端請(qǐng)求網(wǎng)絡(luò)圖 1: C/S 技術(shù)模型Client/Server 結(jié)構(gòu)的優(yōu)點(diǎn)是速度快, 缺點(diǎn)是當(dāng) Server 進(jìn)行更新時(shí), Client 也必需更新 [6]。C/S 軟件技術(shù)是一種通用的,基于消息的技術(shù)。在這里,水平伸縮(Horizontal scaling)意味著方便地添加和刪除客戶工作站。4.可伸縮性是 C/S 系統(tǒng)的一個(gè)很重要特性。2.前端與后端的任務(wù)對(duì)計(jì)算機(jī)資源有完全不同的要求,這些計(jì)算機(jī)資源包括:處理機(jī)速度,內(nèi)存,磁盤速度,容量,輸入輸出設(shè)備等。前端被稱為客戶端,后端被稱為服務(wù)器端。2.3 C/S 模型介紹C/S 是 Client/Server 的縮寫,即客戶機(jī)/服務(wù)器技術(shù),也可以稱為 C/S 模型。JBuilder5 環(huán)境是用純 Java 編寫。JBuilder5 是一組全面的高效率工具,使用 Java 編程語(yǔ)言創(chuàng)建可伸縮的,高性能的和具有不依賴于平臺(tái)性能的應(yīng)用程序。2.2 JBuilder5 介紹JBuilder5 是美國(guó) Borland 公司最新推出的遵循 SUN 公司 J2EE 標(biāo)準(zhǔn)的集成開(kāi)發(fā)工具,是目前使用最廣泛的 Java 開(kāi)發(fā)工具之一。有連接通信一般要經(jīng)歷以下四個(gè)基本步驟:創(chuàng)建 Socket,建立連接;打開(kāi)連接到 Socket 的輸入/輸出流;按照一定的協(xié)議對(duì) Socket 進(jìn)行讀/寫操作;關(guān)閉 Socke
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1