畢業(yè)設(shè)計(論文)-基于Java平臺上聊天系統(tǒng)的研究.doc_第1頁
畢業(yè)設(shè)計(論文)-基于Java平臺上聊天系統(tǒng)的研究.doc_第2頁
畢業(yè)設(shè)計(論文)-基于Java平臺上聊天系統(tǒng)的研究.doc_第3頁
畢業(yè)設(shè)計(論文)-基于Java平臺上聊天系統(tǒng)的研究.doc_第4頁
畢業(yè)設(shè)計(論文)-基于Java平臺上聊天系統(tǒng)的研究.doc_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

目錄摘要1引言1第1章 系統(tǒng)概述21.1本課題的來源21.2本課題的目的、內(nèi)容、要求31.3研究意義3第2章 技術(shù)選擇分析42.1 可行性分析42.2開發(fā)工具的選擇52.3開發(fā)技術(shù)的選擇5第3章 需求分析63.1項目概述63.2功能需求83.3質(zhì)量性能需求11第4章 概要設(shè)計124.1目的124.2運行環(huán)境124.3條件與限制134.4體系結(jié)構(gòu)概述134.5功能設(shè)計13第5章 詳細(xì)設(shè)計及實現(xiàn)195.1 客戶端注冊205.2 登錄225.3 公聊235.4 私聊245.5發(fā)送系統(tǒng)消息265.6字體設(shè)置275.7發(fā)送表情275.8記錄保存和顯示285.9 功能邏輯實現(xiàn)28小結(jié)29致謝29參考文獻(xiàn)30英文摘要30基于Java平臺上聊天系統(tǒng)的研究基于Java平臺上聊天系統(tǒng)的研究作者:任靜作者簡介:任靜,女,(1989.3 ),安徽省六安市人,漢族,2007年9月至2011年6月在安徽農(nóng)業(yè)大學(xué)信息與計算科學(xué)專業(yè)學(xué)習(xí)。論文完成時間:2011年5月14日 指導(dǎo)老師:唐淼(安徽農(nóng)業(yè)大學(xué)理學(xué)院信息與計算科學(xué)專業(yè) 學(xué)號: 07119020)摘要:網(wǎng)絡(luò)聊天室是一種應(yīng)用廣泛網(wǎng)絡(luò)聊天方式,操作簡單,功能豐富,是教學(xué)和學(xué)習(xí)面向?qū)ο蟮木幊趟枷氲睦硐腠椖?。可以使用多種編程語言設(shè)計和開發(fā)出功能完善的網(wǎng)絡(luò)聊天室。本畢業(yè)設(shè)計論文介紹用JAVA語言分析與設(shè)計一個網(wǎng)絡(luò)聊天室的過程,本系統(tǒng)采用C/S架構(gòu)設(shè)計,整個項目分為服務(wù)器端和客戶端。使用了最新的Java 2標(biāo)準(zhǔn)Swing組件,開發(fā)出簡潔美觀和布局合理的用戶和服務(wù)器界面;通過對數(shù)據(jù)流操作的合理設(shè)計,實現(xiàn)信息傳遞、接受和數(shù)據(jù)保存。同時,采用多線程、多任務(wù)的設(shè)計思想,開發(fā)出性能穩(wěn)定,功能全面的服務(wù)器。通過本次畢業(yè)設(shè)計可以學(xué)到如何應(yīng)用和實現(xiàn)面向?qū)ο蟮母鞣N方法,如何使用Eclipse集成開發(fā)環(huán)境來創(chuàng)建和開發(fā)項目,從而研究系統(tǒng)的完整開發(fā)。關(guān)鍵詞:聊天室;Java; Swing組件;多線程引言隨著科學(xué)技術(shù)的發(fā)展和社會的進(jìn)步,尤其是計算機(jī)大范圍的普及,網(wǎng)絡(luò)飛速發(fā)展的時代,網(wǎng)絡(luò)聊天成為人們生活中不可缺少的一部分,幾乎每個網(wǎng)民在上網(wǎng)的時候都會選擇聊天室與虛幻世界的人們進(jìn)行各種各樣的交談,聊天室對于眾多網(wǎng)民來說并不陌生,它是網(wǎng)絡(luò)上大家討論交流的有效平臺。隨著聊天室使用的頻繁,各種各樣的聊天室相繼出現(xiàn),由于Java強(qiáng)大的Internet網(wǎng)絡(luò)程序設(shè)計功能,很多聊天室服務(wù)器端都是采用Java語言進(jìn)行實現(xiàn),尤其是應(yīng)用JAVA多線程的聊天室更為人們所關(guān)注。第1章 系統(tǒng)概述1.1本課題的來源中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)發(fā)布了第21次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告,報告顯示,截至2007年12月,中國網(wǎng)民數(shù)已經(jīng)達(dá)到了2.1億,略低于美國居世界第二位,其中寬帶用戶早已經(jīng)突破1.37億,達(dá)到1.63億,另外手機(jī)上網(wǎng)人數(shù)與日劇曾,根據(jù)信息產(chǎn)業(yè)部公布的2007年10月通信行業(yè)統(tǒng)計月報,目前中國已有5.3億手機(jī)有效卡數(shù)。近幾年來,中國手機(jī)有效卡數(shù)增長一直維持在17%以上,平均每年增長6000萬張卡,增量非??捎^。 上網(wǎng)計算機(jī)已經(jīng)達(dá)到了7800萬,網(wǎng)民的人均每月上網(wǎng)費用為74.9元;中國互聯(lián)網(wǎng)行業(yè)繼續(xù)了2006年快速發(fā)展的態(tài)勢。2007年一年中國網(wǎng)民增加了7300萬人,年增長率達(dá)到53.3%。相當(dāng)于在過去一年中,平均每天增加網(wǎng)民20萬人,或平均每分鐘增加網(wǎng)民近140人。按照這個增長速度,預(yù)計2008年一月份過后,中國網(wǎng)民將超越美國成為全球第一。隨著網(wǎng)絡(luò)普及和上網(wǎng)人數(shù)的大增,在國內(nèi)各大門戶網(wǎng)站都架設(shè)了大型聊天室。如:新浪聊天室、中華網(wǎng)社區(qū)聊天室、搜狐等都成為網(wǎng)民們的熱門聊天室。以新浪聊天室為例看,聊天室呈現(xiàn)積聚人氣作用,并開設(shè)不同主題的聊天室以使網(wǎng)民們具有針對性的使用聊天室。新浪開設(shè)許多主題鮮明的聊天室:如針對不同地域開設(shè)了“同城聯(lián)盟”,可以方便網(wǎng)民們和同鄉(xiāng)之間聯(lián)絡(luò)和方便開展一些地域性質(zhì)的活動。為針對不同年齡層而開設(shè)的“同齡話題”,使各年齡層的用戶可以方便的選擇自己的聊天對象群體,找到自己的合適的聊天話題。并且針對目前社會流行的熱門話題和流行話題都有相應(yīng)的主題室。隨著網(wǎng)絡(luò)技術(shù)的不段提高和改進(jìn),近些年來視頻聊天成為上網(wǎng)的熱門聊天方式,除了可以方便互相的交流外,可以更直觀的了解對方,真正實現(xiàn)面對面的即時聊天。并且現(xiàn)在隨著網(wǎng)絡(luò)聊天室的發(fā)展,其功能已經(jīng)超越了普通的聊天活動,如新浪聊天室定期邀請當(dāng)今社會知名人士、專家、業(yè)界領(lǐng)袖、優(yōu)秀人物、政府部門領(lǐng)導(dǎo)等開展一些社會活動、宣傳和討論等多種形式的活動。通過網(wǎng)絡(luò)的形式更直接的和人們進(jìn)行互動,實現(xiàn)意見即時反饋,即時回答和解決網(wǎng)民們提出的問題,使活動的效果更快更好的得到發(fā)揮。發(fā)達(dá)國家的3G許可證發(fā)放工作都已經(jīng)基本完成,隨著3G技術(shù)標(biāo)準(zhǔn)、網(wǎng)絡(luò)設(shè)備、終端和業(yè)務(wù)的逐步成熟,3G許可證的發(fā)放已經(jīng)開始從歐美地區(qū)向亞洲、非洲和中東歐地區(qū)轉(zhuǎn)移。日韓是全球3G發(fā)展最為成熟的地區(qū),截止到2006年3月底,日本和韓國的3G用戶數(shù)分別占總移動用戶數(shù)的53%和94%。日本W(wǎng)CDMA用戶占全球WCDMA用戶的44%。韓國CDMA2000 1X EV-DO用戶占全球EV-DO用戶的52%。西歐移動通信市場整體發(fā)展比較成熟,移動用戶普及率處于飽和狀態(tài)。截止到2004年底,西歐移動用戶3.52億,普及率高達(dá)90.1%,個別國家像英國、丹麥、希臘等移動用戶普及率達(dá)到100%。到2007年4月底,我國移動用戶數(shù)為4.87億以上。從調(diào)查中可以得知,移動上網(wǎng)用戶顯著增多,對網(wǎng)絡(luò)聊天室的功能提出更多的要求和功能。同時網(wǎng)絡(luò)聊天室也是網(wǎng)絡(luò)應(yīng)用中出現(xiàn)較早的應(yīng)用軟件,其開發(fā)技術(shù)和設(shè)計思想都已經(jīng)得到成熟的發(fā)展,并且已經(jīng)具有許多成功的案例。在開發(fā)技術(shù)上已經(jīng)沒有什么技術(shù)難題,并且具有廣泛的應(yīng)用和市場空間。1.2本課題的目的、內(nèi)容、要求1.目的網(wǎng)絡(luò)聊天室是一項應(yīng)用廣泛,并且實用性強(qiáng)的一個應(yīng)用,雖然其功能簡單,但是在其開發(fā)技術(shù)和過程中,能夠充分學(xué)習(xí)和使用JAVA的技術(shù),如:開發(fā)各界面(登入、注冊、公聊、私聊等界面)使用 Swing組件技術(shù),實現(xiàn)數(shù)據(jù)的保存使用JDBC數(shù)據(jù)庫連接和操作技術(shù),并且在開發(fā)過程當(dāng)中,能充分的使用和體會面向?qū)ο蠹夹g(shù)的原理和方法。2.內(nèi)容一個網(wǎng)絡(luò)聊天室的運行,首先是要有一個完整穩(wěn)定的服務(wù)器端,并且擁有多個客服端。客服端要具有實現(xiàn)用戶注冊和用戶登入,在登入成功后,要顯示出公聊界面,實現(xiàn)聊天功能并且能夠發(fā)送表情和保存聊天內(nèi)容和顯示聊天記錄等功能,在新用戶上線和用戶下線時要更新每個客戶端在線用戶列表名,并且可以和在線的用戶實現(xiàn)一對一的私聊功能。在服務(wù)器端可以實現(xiàn)不斷的監(jiān)聽客戶的連接,并且根據(jù)客戶端發(fā)送過來的不同信息,如注冊信息、登入信息、公聊信息、私聊信息、退出信息等,服務(wù)器端要作出不同的響應(yīng),并且要實現(xiàn)數(shù)據(jù)庫的操作,如根據(jù)用戶注冊的信息保存在數(shù)據(jù)庫中,根據(jù)登入時發(fā)送來的用戶名和密碼檢測是否合法用戶等。3.要求主要涉及圖形用戶界面的開發(fā)、布局和輸入/輸出流數(shù)據(jù)的控制,并且要通過Socket技術(shù)實現(xiàn)網(wǎng)絡(luò)功能,整個程序采用Swing圖形界面,要求熟練掌握J(rèn)ava圖形用戶界面的事件處理及部分Swing組件的使用。在代碼的編寫上要充分體現(xiàn)Java面向?qū)ο箝_發(fā)思想和多態(tài)性,提高代碼的重用性和高效性,要深入理解接口的作用和內(nèi)部對象等特性等。1.3研究意義本系統(tǒng)具有較好的現(xiàn)實意義,特別是隨著科學(xué)技術(shù)的發(fā)展和社會的進(jìn)步,尤其是計算機(jī)大范圍的普及,網(wǎng)絡(luò)飛速發(fā)展的今天,網(wǎng)絡(luò)聊天成為人們生活中不可缺少的一部分,幾乎每個網(wǎng)民在上網(wǎng)的時候都會選擇聊天室與虛幻世界的人們進(jìn)行各種各樣的交談,隨著聊天室使用的頻繁,各種各樣的聊天室相繼出現(xiàn),尤其是應(yīng)用JAVA多線程的聊天室更為人們所關(guān)注。所以這一系統(tǒng)實現(xiàn)人們所期望的頁面流暢,美觀,負(fù)載能力強(qiáng),靈活易用,性能穩(wěn)定的愿望。第2章 技術(shù)選擇分析2.1可行性分析在軟件開發(fā)之前對其進(jìn)行可行性分析是十分必要的,可以知道該軟件是否合乎用戶的要求,以及行業(yè)標(biāo)準(zhǔn),最重要的是軟件的造價是否合乎用戶的要求。1.經(jīng)濟(jì)可行性由于該軟件是一個聊天室的開發(fā),操作系統(tǒng)是Windows 、后臺數(shù)據(jù)庫采用Micsoft Access,開發(fā)環(huán)境為Eclipse, 在軟件方面,都可以從網(wǎng)上直接下載。相關(guān)的學(xué)習(xí)資料也都可以從網(wǎng)上下載,也可以到圖書館查找,既經(jīng)濟(jì)又方便。但在實際應(yīng)用方面,既方便了用戶,又提高了網(wǎng)絡(luò)的管理水平,大大的節(jié)省了人力、財力、物力,聊天室的電擊率會大大提高。遠(yuǎn)遠(yuǎn)超出它的研發(fā)費用。由于以上的各項分析,該軟件運行靈活,又有一定的安全性,因此開發(fā)該系統(tǒng)具有經(jīng)濟(jì)可行性。2.技術(shù)可行性(1) 就執(zhí)行平臺而言,必須考慮的問題之一是用戶可能使用的操作系統(tǒng)。用戶可能使用的是Windows Linux。JAVA語言具有平臺無關(guān)性,可以不需要任何修改就可以運行在支持JAVA的任何計算機(jī)上。(2) JAVA的Swing 組件開發(fā)技術(shù)可以開發(fā)豐富的圖形界面,并且Swing API類提供了豐富的外部接口和方法,可以方便實現(xiàn)系統(tǒng)功能。(3) 就項目開發(fā)而言,純粹的面向?qū)ο?,加上?shù)量巨大的類所提供的方法(函數(shù))庫的支持,使得利用Java開發(fā)各種應(yīng)用程序,可以說是易如反掌。此外,在程序除錯、修改、升級和增加新功能等方面,因其面向?qū)ο蟮奶匦?,使得這些維護(hù)也變得非常容易。(4) Java支持內(nèi)在的多線程運行,提供分布式的并發(fā)機(jī)制,運行效率高。(5) 異常處理,為了使Java程式更穩(wěn)定、更安全,Java引入了異常處理機(jī)制。能夠在程序中產(chǎn)生異常情況的地方,執(zhí)行相對應(yīng)的處理,不至于因突發(fā)或意外的錯誤造成執(zhí)行中斷或是死機(jī)。通過這種異常處理,不僅能夠清晰地掌握整個程序執(zhí)行的流程,也使得程序的設(shè)計更為嚴(yán)謹(jǐn)。(6) 高性能,Java可以在運行時直接將目標(biāo)代碼翻譯成機(jī)器指令。Sun用直接解釋器一秒鐘內(nèi)可調(diào)用300,000個過程。翻譯目標(biāo)代碼的速度與C/C+的性能沒什么區(qū)別。(7) 網(wǎng)絡(luò)功能,Java可以說是借助因特網(wǎng)而重獲新生的,自然具備編寫網(wǎng)絡(luò)功能的程序。不論是一般因特網(wǎng)局域網(wǎng)的程序,如Socket、Email、基于Web服務(wù)器的Servlet、JSP程序,甚至連分布式網(wǎng)絡(luò)程序,如CORBA、RMI等的支持也是非常豐富的,使用起來也很方便。(8) 源回收處理,GarbageCollection是由JVM對內(nèi)存實行動態(tài)管理的。程序需要多少內(nèi)存、哪些程序的內(nèi)存已經(jīng)不使用了,需要釋放歸還給系統(tǒng),這些煩瑣且危險的操作全部交由JVM去管理。讓我們能夠更專心地編寫程序,而不需要擔(dān)心內(nèi)存的問題。內(nèi)存的統(tǒng)一管理,對于跨平臺也有相當(dāng)大的幫助。綜上所述,基于Java平臺的聊天系統(tǒng)的開發(fā)設(shè)計具有技術(shù)可行性。2.2開發(fā)工具的選擇Java的開發(fā)工具很多,而且各有優(yōu)缺點,Eclipse是一個開放可擴(kuò)展的集成開發(fā)環(huán)境(IDE)。它不僅可以用于Java的開發(fā),通過開發(fā)插件,它可以構(gòu)建其他的開發(fā)工具。Eclipse是開放源代碼的項目,并可以免費下載。支持最新的Java標(biāo)準(zhǔn),并且縮短了開發(fā)周期。一直以其友好的集成開發(fā)環(huán)境在業(yè)界受到廣泛的贊譽,這也是Eclipse一直是廣大程序員最喜愛的Java開發(fā)工具的原因之一。Eclipse的可視化集成開發(fā)環(huán)境包括文本編輯器、工程創(chuàng)建工具、對象瀏覽器和調(diào)試器等。用戶可以在集成開發(fā)環(huán)境中創(chuàng)建工程和打開工程,建立、打開和編輯文件,并可以編譯、運行和調(diào)試應(yīng)用程序??梢哉f在Eclipse集成開發(fā)環(huán)境中開發(fā)Java程序,快速而且高效。其主要特點如下:1.開放的可擴(kuò)展的IDE2.成功的底層圖形界面API3.強(qiáng)大的插件加載功能4.可以通過導(dǎo)入一些CVS相關(guān)的插件來實現(xiàn)版本管理的便易性2.3開發(fā)技術(shù)的選擇本課題選擇了java Socket技術(shù)開發(fā)網(wǎng)絡(luò)聊天室。什么是socket? socket是一種用于表達(dá)兩臺機(jī)器之間連接“終端”的軟件抽象。對于一個給定的連接,在每臺機(jī)器上都有一個socket,你可以想象一個虛擬的電纜工作在兩臺機(jī)器之間,“電纜”插在兩臺機(jī)器的socket上。當(dāng)然,物理硬件和兩臺機(jī)器之間的“電纜”這些連接裝置都是未知的,抽象的所有目的就是為了讓我們不必了解更多的細(xì)節(jié)。簡單的說,一臺計算機(jī)上的socket同另一臺計算機(jī)通話創(chuàng)建一個通信信道,程序員可以用這個信道在兩臺機(jī)器之間發(fā)送數(shù)據(jù)。當(dāng)你發(fā)送數(shù)據(jù)時,TCP/IP協(xié)議棧的每一層都給你的數(shù)據(jù)里添加適當(dāng)?shù)膱箢^。有個好消息是java語言隱藏了所有這些細(xì)節(jié),這也是為什么他們有時被叫做“流socket”。思考一下socket像電話聽筒一樣在電話的任意一端你和我通過一個專門的信道來進(jìn)行通話和接聽。會話將一直進(jìn)行下去直到我們決定掛斷電話(除非我們使用蜂窩電話),除非我們掛斷電話,否則我們各自的電話線路都會占線。如果你需要在兩臺機(jī)器之間進(jìn)行通訊而不使用高級機(jī)制像ORBs(以及CORBA, RMI, IIOP等等),socket比較適合你。Socket的底層機(jī)制則相當(dāng)棘手。幸運的是,java平臺給我們一些雖然簡單但是相當(dāng)強(qiáng)大的高層抽象以至于我們創(chuàng)建和使用socket更加容易一些。一般而言,java socket有下面兩種類型:TCP socket(由Socket類實現(xiàn),下面的章節(jié)我們將對其討論)UDP socket(由DatagramSocket類實現(xiàn))TCP和UDP扮演同樣的角色,但是實現(xiàn)是不同的。兩者都接收傳輸協(xié)議數(shù)據(jù)包并把它們傳遞到表示層。TCP把信息分解成數(shù)據(jù)包(datagrams)并在接收端重新組裝起來。它還對丟失的數(shù)據(jù)包進(jìn)行重新傳輸?shù)恼埱?。TCP減少了上層的擔(dān)憂。UDP沒有組裝和重傳請求的功能。它只是傳輸數(shù)據(jù)包。更高層的層必須確保信息的完整性以及組合順序的正確性。第3章 需求分析3.1項目概述1.產(chǎn)品描述人們?nèi)粘I钪性絹碓蕉嗟厥褂眠@項新的技術(shù)來為自己的工作和學(xué)習(xí)服務(wù)。一個操作簡單、界面友好、運行穩(wěn)定的網(wǎng)絡(luò)聊天室對于小型局域網(wǎng)內(nèi)的用戶可以起到很好的交流作用。本聊天室,所謂聊天室就是一個可以讓許多用戶同時互相通信的網(wǎng)上園地,個人用戶可以通過網(wǎng)上聊天室將自己融入整個主流社會中。由于目前上網(wǎng)的一般都是具有高學(xué)歷的新一代創(chuàng)業(yè)者,因此,在網(wǎng)上聊天室這個虛擬的社會中,可以結(jié)交各層次各地方的朋友,從而為自己獲取更多的知識和更多的閱歷。該小聊天室是為許多喜愛上網(wǎng)聊天的朋友開發(fā)設(shè)計的,希望能在現(xiàn)有的眾多聊天室中給大家多一種的選擇。和許多大型的網(wǎng)絡(luò)聊天室相比該小聊天室比較簡單,但能實現(xiàn)聊天的基本功能,點對多聊天,點對點聊天等,基于時間和技術(shù)的原因,很遺憾傳送文件的功能尚未實現(xiàn)。本聊天室主要由注冊界面、登錄界面、聊天室界面、私聊界面、查看聊天內(nèi)容界面、功能設(shè)置界面等構(gòu)成。整個設(shè)計簡潔明了、實用,使用簡單。客戶端登入通信功能設(shè)置記錄保存用戶登入用戶注冊公聊私聊字體顏色字體類型字體大小表情公聊記錄添加文字圖3-1 客戶端結(jié)構(gòu)圖服務(wù)器監(jiān)聽情況發(fā)送系統(tǒng)消息顯示登入情況圖3-2 服務(wù)器結(jié)構(gòu)圖2.產(chǎn)品功能本項目具有以下主要功能:(1)客戶端:n 用戶注冊功能,實現(xiàn)用戶的登入ID注冊和個人信息,并存入服務(wù)器數(shù)據(jù)庫 中。n 用戶登入功能,實現(xiàn)合法注冊用戶的登入。n 公聊功能,實現(xiàn)用戶和在線的所有用戶聊天方式。n 私聊功能,實現(xiàn)用戶和在線的其他用戶一對一的聊天方式。n 查看聊天記錄,實現(xiàn)用戶查看已聊天的歷史聊天內(nèi)容,分為公聊記錄和私聊記錄。n 發(fā)送表情和設(shè)置聊天內(nèi)容字體,并可以設(shè)置字體顏色和背景色等。(2)服務(wù)端:n 可以不斷的監(jiān)聽客戶端請求n 顯示登入客戶的信息n 發(fā)送系統(tǒng)消息3.2功能需求1.用戶注冊1) 需求描述:用戶填寫系統(tǒng)給出的注冊項目,并提交給系統(tǒng),成功注冊后,系統(tǒng)生成用戶所注冊的登入ID,并保存在數(shù)據(jù)庫當(dāng)中。2) 執(zhí)行者:用戶3) 前置條件:無4) 后置條件:無5) 正常過程:l 向服務(wù)端發(fā)送注冊請求l 服務(wù)端響應(yīng)客戶端,客戶端彈出注冊信息表單l 用戶填寫完表單后將注冊數(shù)據(jù)傳給服務(wù)端處理,并保存在數(shù)據(jù)庫中l(wèi) 返回客戶端一個響應(yīng),顯示用戶注冊的ID,提示注冊成功。6) 異常過程(可選):l 用戶填寫表單的數(shù)據(jù)格式不正確或表單中存在空缺的項,客戶端給予提示信息,并將光標(biāo)定位到出錯的地方。l 用戶注冊的項在數(shù)據(jù)庫中發(fā)生沖突,客戶端提示注冊不成功并提示用戶重新填寫表單。l 服務(wù)器未啟動或出現(xiàn)異常2.用戶登入1) 需求描述:用戶填寫登入ID 和密碼,經(jīng)服務(wù)器驗證成功后進(jìn)入聊天室主界面。2) 執(zhí)行者:用戶3) 前置條件:用戶成功注冊或已經(jīng)擁有一個合法的ID號4) 后置條件:無5) 正常過程:l 向服務(wù)端請求連接,并發(fā)送登錄信息。l 服務(wù)端處理并查詢數(shù)據(jù)庫中的用戶信息l 返回客戶端一個響應(yīng),提示登錄成功,彈出聊天室主界面。l 刷新其他在線用戶的用戶列表信息6) 異常過程(可選):l 用戶填寫的ID或密碼與數(shù)據(jù)庫中的紀(jì)錄不匹配,客戶端提示登錄失敗。l 客戶端設(shè)置的服務(wù)器地址或端口有誤l 服務(wù)器未啟動或出現(xiàn)異常3.公聊1) 需求描述:用戶在聊天室公聊界面的發(fā)言內(nèi)容,聊天室中的其他在線用戶可以正常接受并正確顯示(包括發(fā)送的表情和用戶設(shè)置的字體顏色)。2) 執(zhí)行者:登入用戶3) 前置條件:用戶登錄成功4) 后置條件:無5) 正常過程:l 客戶端用戶登入成功后,啟動客戶端功能線程l 客戶端將用戶發(fā)送的信息打包傳送給服務(wù)端,服務(wù)端進(jìn)行數(shù)據(jù)分析后,并將用戶的信息進(jìn)行正確的處理,傳給處在聊天室的所有在線其他用戶并正常顯示。6) 異常過程(可選):l 客戶端與服務(wù)端斷開連接,客戶端提示信息發(fā)送失敗。l 客戶端發(fā)送的內(nèi)容為空或包含不合法的字符內(nèi)容4.私聊1) 需求描述:用戶可選擇聊天室的在線用戶列表中其他用戶聊天。并且對方有消息提示,雙方發(fā)送的信息對于聊天室的其他用戶是不可見的。2) 執(zhí)行者:用戶3) 前置條件:用戶登錄成功,私聊的對方在線4) 后置條件:無5) 正常過程:l 客戶端與服務(wù)端建立通訊l 客戶端將用戶發(fā)送的信息打包傳送給服務(wù)端,服務(wù)端進(jìn)行數(shù)據(jù)分析,查找目的用戶的ID,并將用戶的信息傳給目的用戶l 目的用戶收到服務(wù)器的信息后,正確的顯示并保存。6) 異常過程(可選):l 客戶端與服務(wù)端斷開連接,客戶端提示信息發(fā)送失敗。l 客戶端發(fā)送的私聊內(nèi)容包含不合法的字符7) 特殊需求(可選):不能與不在線的用戶進(jìn)行私聊5.發(fā)送表情1) 需求描述:用戶的聊天內(nèi)容可以是表情圖片2) 執(zhí)行者:用戶3) 前置條件:用戶可以正常聊天4) 后置條件:無5) 正常過程:l 客戶端與服務(wù)端建立通訊l 客戶端將表情所表示的信息傳送給服務(wù)端l 服務(wù)器端進(jìn)行數(shù)據(jù)分析后,查找目的用戶的ID,并將所處理的信息傳給目的用戶l 目的用戶端通過本地文件將信息翻譯成表情并正確顯示在顯示窗體中。6) 異常過程(可選):l 客戶端與服務(wù)端斷開連接,客戶端提示服務(wù)器異常。l 客戶端發(fā)送的表情信息不正確或本地文件不存在異常6.聊天記錄1) 需求描述:用戶可以查詢聊天的歷史紀(jì)錄,包括公聊記錄和私聊記錄。2) 執(zhí)行者:用戶3) 前置條件:用戶正確登入后4) 后置條件:無5) 正常過程:l 發(fā)送、接收信息的同時將信息保存在本地文件中l(wèi) 信息發(fā)送框中可以查詢歷史聊天記錄l 從本地文件中讀取信息,并顯示在記錄顯示匡中。6) 異常過程(可選):l 服務(wù)端異常導(dǎo)致客戶端退出,客戶端提示服務(wù)器異常。l 客戶端讀取信息時目標(biāo)文件不存在7.系統(tǒng)消息1) 需求描述:在聊天室的每一個用戶都能接收服務(wù)端發(fā)送的的信息提示消息。2) 執(zhí)行者:服務(wù)端3) 前置條件:服務(wù)端正常運行4) 后置條件:無5) 正常過程:l 服務(wù)器向所有在線用戶發(fā)送消息l 客戶端接收到消息,進(jìn)行消息處理,并正確顯示。6) 異常過程(可選):l 服務(wù)端異常,重啟服務(wù)器。l 出現(xiàn)網(wǎng)絡(luò)異常,發(fā)送系統(tǒng)消息失敗。8.字體屬性設(shè)置1) 需求描述:用戶可改變輸入消息的字體及顏色2) 執(zhí)行者:用戶3) 前置條件:用戶可以正常聊天4) 后置條件:無5) 正常過程:l 用戶為聊天信息選擇新的字體和顏色。l 客戶端將聊天信息及字體和顏色信息封裝,發(fā)送到服務(wù)端。l 服務(wù)端處理接受到的數(shù)據(jù)并正確轉(zhuǎn)發(fā)。l 目的客戶端將接收到的信息解包,根據(jù)信息的內(nèi)容,改變信息顯示的字體及顏色,并在目的客戶端正確顯示出字體效果。6) 異常過程(可選):l 雙方系統(tǒng)庫中的字體不匹配,信息將以默認(rèn)的字體顯示。l 對方不支持字體屬性的顯示9.用戶退出1) 需求描述:用戶在正常情況下退出聊天室。2) 執(zhí)行者:用戶3) 前置條件:用戶成功登錄聊天室4) 后置條件:無5) 正常過程:l 向服務(wù)器發(fā)送用戶登出消息l 服務(wù)器進(jìn)行用戶退出的數(shù)據(jù)處理l 服務(wù)器向聊天室其他用戶發(fā)送登出消息l 刷新其他在線用戶的用戶列表信息3.3質(zhì)量性能需求1.容錯性需求當(dāng)出現(xiàn)代碼異常時,出現(xiàn)正確的提示,不會影響整個系統(tǒng)的運行。用戶之間信息傳輸不會因為數(shù)據(jù)封裝問題出現(xiàn)丟失或亂碼。因用戶的誤操作產(chǎn)生的異常應(yīng)做出及時的處理或信息提示。2.穩(wěn)定性需求軟件應(yīng)正常完成所有功能需求。服務(wù)器端應(yīng)長時間運行無故障,故障修復(fù)時間一般控制在3小時內(nèi),除非出現(xiàn)惡性攻擊、病毒破壞、系統(tǒng)資源不足、硬件故障、操作系統(tǒng)或數(shù)據(jù)庫系統(tǒng)崩潰網(wǎng)絡(luò)中斷等情況,要求系統(tǒng)連續(xù)運行一周,不允許出現(xiàn)內(nèi)存泄露。要求系統(tǒng)可以承受告警風(fēng)暴和大數(shù)據(jù)量的沖擊,不出現(xiàn)內(nèi)存溢出等現(xiàn)象。3.軟件可靠性需求要確定合適的模塊粒度,各模塊之間要求松耦合,高內(nèi)聚;從而使整個系統(tǒng)的可靠性和穩(wěn)定性得到提高,并且便于系統(tǒng)維護(hù),和新模塊的添加。4.安全性需求安全性是防止網(wǎng)絡(luò)方面的攻擊。5.拓展性需求系統(tǒng)建成后,應(yīng)在現(xiàn)行系統(tǒng)上不需要做大的改動或不影響整個系統(tǒng)結(jié)構(gòu),就可以增加功能模塊,這就必須在系統(tǒng)設(shè)計時留有接口,使其具有可擴(kuò)展性和維護(hù)性。6.易用性需求系統(tǒng)操作的界面必須簡潔、操作方便易用、設(shè)計合理。第4章 概要設(shè)計4.1目的該階段目的在于明確網(wǎng)絡(luò)聊天室系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和軟件總體結(jié)構(gòu),各個軟件模塊的功能說明,數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié),系統(tǒng)運行配置與應(yīng)用方式以及使用的關(guān)鍵技術(shù)。4.2運行環(huán)境運行環(huán)境見下表:名 稱操作系統(tǒng)類型推薦操作系統(tǒng)版本推薦硬件(CPU/RAM/HD)數(shù)據(jù)庫客戶端Windows平臺windows 2000以上(IE6.0 以上)P4 1.7G/256M/40G服務(wù)器Windows平臺windows 2000以上P4 3.6G/8G/120G4.3條件與限制1.軟件設(shè)計應(yīng)當(dāng)表現(xiàn)出層次結(jié)構(gòu),它應(yīng)巧妙地利用各個軟件部件之間的控制關(guān)系。2.設(shè)計應(yīng)當(dāng)是模塊化的,即該軟件應(yīng)當(dāng)從邏輯上被劃分成多個部件,分別實現(xiàn)各種特定功能和子功能。3.設(shè)計最終應(yīng)當(dāng)給出具體的模塊(例如子程序或過程),這些模塊就具有獨立的功能特性。4.應(yīng)當(dāng)應(yīng)用在軟件需求分析期間得到的信息,采取循環(huán)反復(fù)的方法來獲得設(shè)計。4.4體系結(jié)構(gòu)概述本系統(tǒng)采用C/S的結(jié)構(gòu)設(shè)計模式,客戶端接收用戶的發(fā)送的信息到服務(wù)器,服務(wù)器通過處理轉(zhuǎn)發(fā)到另一個客戶端。客戶端采用圖形用戶界面,方便與用戶交互。服務(wù)器端用控制臺的方式方便控制操作。系統(tǒng)設(shè)計總體原則:本設(shè)計不限制用戶的組網(wǎng)方式。但對于互聯(lián)網(wǎng)環(huán)境下的安全問題,本系統(tǒng)不能保證解決。系統(tǒng)要具有較強(qiáng)的靈活性,包括對功能設(shè)置的管理。整個系統(tǒng)要使用簡單,界面要美觀、大方,具有人性化特點。模塊劃分盡量簡單明了,充分考慮用戶已經(jīng)習(xí)慣的劃分分類。客戶端分為用戶注冊、用戶登錄、信息通訊、字體設(shè)置、表情和保存聊天記錄。用戶注冊和用戶登錄封裝在用戶登錄的界面中,用戶列表模塊封裝在系統(tǒng)的主界面中。信息通訊、字體設(shè)置、表情和保存聊天記錄模塊封裝在聊天界面中。服務(wù)端實現(xiàn)消息接收、消息記錄。4.5功能設(shè)計1.用戶注冊通過注冊模塊實現(xiàn)用戶的在線注冊,所填寫的注冊項目有:用戶名、頭像、口令、口令確認(rèn)、性別、年齡、E-mail。用戶注冊界面正確填寫注冊項提交注冊成功服務(wù)器正確填寫錯誤圖4-1注冊活動圖2.用戶登入用戶用過登入界面,填寫登入用戶名和口令實現(xiàn)系統(tǒng)的登入用戶進(jìn)入登界面輸入用戶名和密碼提交進(jìn)入系統(tǒng)服務(wù)器登入信息合法登入信 息不合法圖4-2登錄活動圖3.公聊用戶登入成功后進(jìn)入公聊界面,通過輸入聊天內(nèi)容實現(xiàn)和其他的用戶聊天,并可以顯示其他用戶發(fā)送的公聊信息。用戶輸入信息發(fā)送消息服務(wù)器格式正確格式有誤圖4-3公聊活動圖4.私聊用戶通過選擇在線用戶列表的其他用戶,通過單擊列表中的用戶名顯示與其私聊的對話框,實現(xiàn)和選中的用戶進(jìn)行私聊方式進(jìn)行交流,其他用戶不可見。用戶選擇其他用戶輸入信息發(fā)送消息服務(wù)器格式正確格式有誤圖4-4私聊流程圖5.表情在用戶公聊或私聊時可以同時,可以單擊表情按鈕打開表情窗體,通過鼠標(biāo)事件可將選擇的表情寫入發(fā)送窗口中,以增強(qiáng)聊天的表達(dá)方式和效果??梢允沽奶旃δ?、更豐富更有趣。用戶單擊表情功能表情框顯示表情在發(fā)送框發(fā)送表情圖4-5表情活動圖6.字體設(shè)置用戶在聊天界面的功能模塊中,單擊字體功能按鈕,在彈出的字體設(shè)置框中選擇所需要設(shè)置的字體類型、字體顯示方式,并在字體功能按鈕下通過改變?nèi)珌砀淖冏煮w的顏色設(shè)置的字體效果,并將設(shè)置好的字體屬性應(yīng)用到自己的發(fā)送信息中。用戶單擊字體功能字體設(shè)置框顯示設(shè)置字體效果應(yīng)用到發(fā)送消息中圖4-6字體設(shè)置活動圖 7.記錄保存用戶在公聊和私聊的過程的同時,將顯示在信息窗體中的聊天內(nèi)容保存到本地文件中,用戶可以通過單擊查看記錄按鈕查看歷史聊天內(nèi)容,并可以在本地機(jī)器下次登入后,查看歷史聊天的記錄。用戶信息顯示記錄按鈕記錄顯示框本地記錄文件單擊讀取保存信息圖4-7 記錄保存活動圖8.系統(tǒng)消息用戶管理員通過啟動服務(wù)器后,可以通過服務(wù)器操作界面象全部在線的用戶發(fā)送系統(tǒng)消息,用于發(fā)送公告,提示等系統(tǒng)消息,可以方便管理員和客戶的交流和管理。用戶顯示出系統(tǒng)消息發(fā)送系統(tǒng)消息用戶服務(wù)器啟動正確消息內(nèi)容有誤圖4-8系統(tǒng)消息活動圖第5章 詳細(xì)設(shè)計及實現(xiàn)本系統(tǒng)采用C/S設(shè)計模式,系統(tǒng)分為客戶端和服務(wù)器端,客戶端包括注冊模塊、登入模塊、公聊模塊、私聊模塊、功能設(shè)置模塊、和客戶端功能實現(xiàn)模塊等。服務(wù)器端包括服務(wù)器界面,服務(wù)器功能實現(xiàn)模塊等。5.1 客戶端注冊圖5-1注冊時序圖用戶必須填寫注冊給定的全部選項,并且按照正確的格式輸入,如年齡一項只能輸入數(shù)字,的格式等等,并可以在申請注冊前驗證輸入的用戶名是否已被使用。實現(xiàn)該功能所寫的類為:(1)、Register類: 用于構(gòu)建注冊的主界面主要成員變量:String name;String c_password;String c_age;String c_email;主要方法: Register() /實現(xiàn)界面元素和設(shè)定元素屬性 checkinfo() /發(fā)送提示的錯誤信息 mes() /點擊事件處理actionPerformed()(2)、SendRegInfoThread類 用來檢測注冊的用戶名是否已被使用主要成員變量:String username; Socket socket; ObjectInputStream o_in; ObjectOutputStream o_out;主要方法:public SendRegInfoThread(String name) username=name; /構(gòu)造方法用于初始化public void run() /實現(xiàn)將信息的發(fā)送給服務(wù)器(3)、SendRegInfoSucThresd類 /發(fā)送注冊消息內(nèi)容主要成員變量:Socket socket; ObjectOutputStream o_out; ObjectInputStream o_in; HashMap hm; Object info; 主要方法: public SendRegInfoSucThread(Object info) =info;/構(gòu)造方法 public void run() /實現(xiàn)將注冊信息發(fā)送給服務(wù)器(4)、RegisterData /用戶發(fā)送給服務(wù)器端的注冊類型數(shù)據(jù)主要成員變量: private String userName; private String passWord; private String userAge; private String email; private String sex;主要方法:分別get,set上面的五個變量,獲得用戶的輸入的名字,密碼,年齡,電子郵件和性別的信息。5.2 登錄圖5-2登入時序圖在設(shè)置好IP和端口號的條件下,用戶在登入界面輸入已注冊好的用戶名和密碼登入,通過驗證后登入聊天室主界面,輸入錯誤返回提示。實現(xiàn)該功能的主要類和方法:(1)、Land類 /實現(xiàn)登入的主窗體 主要成員變量:String hostid; /服務(wù)器IP地址 int server_port; /服務(wù)端口 Socket client_socket; final File propertyFile; /屬性文件主要方法: public Land() /用于初始化登入界面的元素 public void actionPerformed(ActionEvent e) /連接服務(wù)器的方法體 public void run() /顯示登入主窗體主方法(2)、LoginData 類 /發(fā)送登入數(shù)據(jù)類型主要變量:private String userName; private String passWord;主要方法:非別用get,set方法獲得userName和passWord兩個變量的值。5.3 公聊圖5-3公聊時序圖用戶在公聊界面的信息輸入框中輸入要發(fā)送的信息和表情等,用戶可以通過功能設(shè)置按鈕設(shè)置自己定義的字體屬性 ,如:字體類型 、字體大小 、字體顏色 、字體顯示方式、表情等,并可以應(yīng)用到信息輸入框中, 點發(fā)送按鈕實現(xiàn)信息的發(fā)送。并可以顯示其他用戶發(fā)送的公聊信息和系統(tǒng)所發(fā)送的系統(tǒng)信息,并且按照發(fā)送來的信息中包含好的顯示方式正確顯示出信息。用戶上線或下線時要在顯示窗體中給出提示,并刷新用列表中的用戶名。并可以通過雙擊用戶名彈出與該用戶進(jìn)行私聊的對話窗體。實現(xiàn)該功能的主要類和方法:PublicChat類 /公聊界面本模塊主要要實現(xiàn)顯示在線用戶列表,可以保存聊天記錄,可以發(fā)送表情圖片,可以顯示對方發(fā)過來的字體信息,并且自己可以發(fā)送消息,顯示自己的用戶名的功能。并且有保存聊天記錄,背景,字體,表情的按鈕。5.4 私聊圖5-4私聊時序圖用戶在私聊界面的信息輸入框中輸入要發(fā)送的信息和表情等,用戶可以通過功能設(shè)置按鈕設(shè)置自己定義的字體屬性 ,如:字體類型 、字體大小 、字體顏色 、字體顯示方式、表情等,并可以應(yīng)用到信息輸入框中, 點發(fā)送按鈕實現(xiàn)私聊信息的發(fā)送。并可以顯示其他用戶發(fā)送過來的私聊信息,并且按照發(fā)送來的信息中包含好的顯示方式正確顯示出信息。實現(xiàn)該功能所用的主要類和方法PersonalChat類 /私聊界面類其中包括顯示聊天內(nèi)容的文本面板,顯示發(fā)送消息的文本面板,發(fā)送消息按鈕,關(guān)閉窗體按鈕,顯示聊天內(nèi)容的按鈕等。5.5發(fā)送系統(tǒng)消息 圖5-4 系統(tǒng)消息時序圖服務(wù)器端收到用戶上線或下線時發(fā)送給其他在線用戶消息提示,并可以根據(jù)需要,主動發(fā)送消息給客戶,實現(xiàn)服務(wù)器端的管理。實現(xiàn)功能的主要類和方法(1)、ServerInterFace類 /服務(wù)器的用戶界面 private void initCompenent() / 組件初始化 class StartServer implements ActionListener / 內(nèi)部類啟動和關(guān)閉監(jiān)聽(2)、TalentServer類 /服務(wù)器啟動模塊 public void run() / 發(fā)送系統(tǒng)消息 class SysinfoBuAction implements ActionListener /啟動服務(wù)器5.6字體設(shè)置每個用戶可以根據(jù)自己的個人喜好設(shè)置自己要發(fā)送的內(nèi)容的字體屬性。并可以在其他目的客戶界面按照自己所設(shè)置的顯示方式顯示。主要設(shè)置了三種字體的屬性,分別為字體的樣式,大小和字型。實現(xiàn)該功能的主要類和方法 Fontset類 /字體設(shè)置窗體面板 public void actionPerformed(ActionEvent e) /實現(xiàn)選擇字體顏色,選擇字體類型,選擇字體大小,選擇字體顯示方式 功能 private void updataFont() /顯示更改后的字體表現(xiàn)5.7發(fā)送表情在用戶公聊或私聊時可以同時,可以單擊表情按鈕打開表情窗體,通過鼠標(biāo)事件可以將選擇描述表情的語句選中,并跟隨所要發(fā)送的內(nèi)容到聊天窗口中,以增強(qiáng)聊天的表達(dá)方式和效果??梢允沽奶旃δ?、更豐富更有趣。實現(xiàn)功能的主要類和方法 FaceFrame類 /顯示表情窗體5.8記錄保存和顯示本系統(tǒng)可以在應(yīng)用中將用戶聊天的記錄保存在本地文件當(dāng)中,用戶在本地下次登入后,可以查看歷史聊天記錄。方便用戶繼續(xù)聊天。實現(xiàn)該功能使用的主要類和方法(1)、ChatInfoSave類 /保存信息的方法類(2)、ChatInfoOpen類 /實現(xiàn)用戶查看聊天記錄5.9 功能邏輯實現(xiàn)本系統(tǒng)采用數(shù)據(jù)對象流的形式發(fā)送和接受信息??蛻舳诉B接服務(wù)器成功后就啟動一個客戶端線程和服務(wù)器通信??蛻舳税l(fā)送的信息分為:注冊消息、注冊時用戶名驗證消息、登入消息、公聊消息、私了消息、下線消息等。服務(wù)器端啟動一個線程不斷的監(jiān)聽客戶的請求,當(dāng)接受到客戶請求時就啟動一個和該客戶端通信的線程。服務(wù)器端發(fā)送的信息分為:注冊成功消息 注冊失敗消息、注冊時驗證用戶名成功消息、注冊時驗證用戶名失敗消息、登入成功消息、登入失敗消息、轉(zhuǎn)發(fā)公聊消息、轉(zhuǎn)發(fā)的私了消息、刷新列表名消息等。實現(xiàn)該功能使用的主要類(1)、TransferMap類 /用于客戶端與服務(wù)器之間的消息傳遞(2)、LoginData類 /用于登入時發(fā)送的信息對象類型(3)、RegisterData類 /用于注冊時發(fā)送的信息對象類型(4)、ChatInformation類 /用于用戶公聊或私聊時發(fā)送的信息對象類型(5)、ClientThread類 /客戶端連接服務(wù)器成功后啟動的線程(6)、ServerAffairThread類 服務(wù)器端為用戶啟動的服務(wù)器線程(7)、LineDialog類 /實現(xiàn)提示用戶私聊消息(8)、Display_chatifn類 /顯示信息內(nèi)容小結(jié)本章講述了一個通用聊天系統(tǒng)的開發(fā)設(shè)計過程,詳細(xì)的講述了以下五個方面的內(nèi)容: 系統(tǒng)概述:該部分主要講述了課題的來源背景,目的,要求以及意義。 技術(shù)選擇分析:對系統(tǒng)進(jìn)行了可行性分析,重點是技術(shù)的可行性分析,并選擇好本課題的開發(fā)工具和技術(shù) 。 需求分析:介紹了系統(tǒng)的客戶端和服務(wù)器端的結(jié)構(gòu),并對系統(tǒng)所需要實現(xiàn)的功能進(jìn)行了簡單的描述 概要設(shè)計:概要設(shè)計的工作就是設(shè)計系統(tǒng)的大體框架,對系統(tǒng)的用例分析析和關(guān)鍵用例的流程分析。用例是系統(tǒng)中需要實現(xiàn)的功能模塊,不同的用例可能歸屬于不同的角色。在本章中,我們主要介紹了用戶注冊、登錄、公聊、私聊、表情和保存信息的流程分析,并對數(shù)據(jù)庫進(jìn)行了設(shè)計。 詳細(xì)設(shè)計及實現(xiàn):本小節(jié)簡單的介紹了各個界面的設(shè)計以及它們之間的關(guān)聯(lián),并實現(xiàn)基本功能。由于一直專注于功能的實現(xiàn),從而忽略了界面的設(shè)計,本軟件今后可以為用戶添加不同的頭像和表情,并可以使窗體風(fēng)格更合理和更美觀,并且要使用戶有更多的自定義功能,設(shè)置自己的喜好和風(fēng)格。在功能方面可以進(jìn)一步增加,如實現(xiàn)用戶間的文件傳輸,并可以進(jìn)行視屏,共享音樂等高級功能。致謝:在這幾個月的畢業(yè)設(shè)計過程中,通過導(dǎo)師的指導(dǎo),了解并熟悉了設(shè)計一個項目的具體過程和步驟,使自己在整個過程當(dāng)中不段的學(xué)習(xí)解決問題的能力。我要衷心感謝唐淼導(dǎo)師在我的畢業(yè)設(shè)計過程中給予我的指導(dǎo)和幫助,本論文從選題到完成,每一步都是在導(dǎo)師的指導(dǎo)下完成的,傾注了導(dǎo)師大量的心血。在此,謹(jǐn)向?qū)煴硎境绺叩木匆夂椭孕牡母兄x!感謝導(dǎo)師在繁忙的工作之余閱讀并給出的建議。同樣要感謝身邊周圍同學(xué)提供的意見和幫助,使我能夠及時、順利地完成此次的畢業(yè)設(shè)計;最后感謝各位專家導(dǎo)師對本論文的審閱!參考文獻(xiàn)(1)美 Joshua Bloch. Effective Java Programming Language Guide.Addison-Wesley Professional,05 June, 2001(2)美 Joshua Bloch.Effective Java: Second Edition.Addison-Wesley,28 May, 2008(3)美 Bruce Eckel.Thinking in Java (3rd Edition).Prentice Hall PTR,06 December, 2002(4)陳軼,姚曉昆編著.Java程序設(shè)計實驗指導(dǎo).北京:清華大學(xué)出版社,2006(5)趙毅主編.跨平臺程序設(shè)計語言Java.西安:西安電子科技大學(xué)出版社,2006(6)吳其慶編著.Java程序設(shè)計實例教程.北京:冶金工業(yè)出版社,2006(7) 柳西玲,許斌編著.Java語言應(yīng)用開發(fā)基礎(chǔ).北京:清華大學(xué)出版社,2006(8)鄭莉,王行言.馬素霞編著.Java語言程序設(shè)計.北京:清華大學(xué)出版社,2006(9)陳更力,張青.基于Java Socket 網(wǎng)絡(luò)編程的一種新實現(xiàn).電腦開發(fā)與應(yīng)用,2006年06期(10) 參考新浪聊天室、 騰訊聊天室等英文摘要:Based on a Java platform chat system is studiedAbstract:The network chat room is a kind of applied extensive network chat method, operate in ease and the function is abundant, It can be used as a good case for learning of java design language and the Object- Oriented Programming language, There is many programming language of design to develop a network chat room with perfect function.This graduation thesis of design introduction how to use the java language design and carry out network chat room, The system adoption the C/ S structure design, the whole system is divided into the server and client .Used standard modules of Swing of latest Java2, develop a simple and direct beauty user interface ,We make use of the Socket technology to interconnect the server and client by net-work ;organiz

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論