基于java的cs模式網(wǎng)絡(luò)聊天室的畢業(yè)設(shè)計(doc畢業(yè)設(shè)計論文)_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  題目: 基于java的C/S模式網(wǎng)絡(luò)聊天室的設(shè)計</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p><b>  1 緒 論1</b><

2、;/p><p>  1.1 聊天室的發(fā)展1</p><p>  1.2 即時通訊的應用2</p><p>  1.3各類通訊軟件的介紹和比較3</p><p>  2 實現(xiàn)聊天室的相關(guān)技術(shù)及環(huán)境7</p><p>  2.1 Java概述7</p><p>  2.2 TCP/IP協(xié)議常識

3、9</p><p>  2.3系統(tǒng)開發(fā)工具與開發(fā)環(huán)境11</p><p>  2.3.1開發(fā)工具11</p><p>  2.3.2開發(fā)環(huán)境11</p><p>  3 網(wǎng)絡(luò)聊天系統(tǒng)的系統(tǒng)設(shè)計12</p><p>  3.1項目概述12</p><p>  3.2功能需求12<

4、;/p><p>  3.3系統(tǒng)建摸13</p><p>  3.4 聊天室系統(tǒng)的設(shè)計14</p><p>  3.4.1 聊天系統(tǒng)工作原理圖14</p><p>  3.4.2系統(tǒng)實現(xiàn)原理15</p><p>  3.4.3系統(tǒng)的設(shè)計過程15</p><p>  3.5數(shù)據(jù)封裝設(shè)計18

5、</p><p>  4 聊天系統(tǒng)的實現(xiàn)及測試19</p><p>  4.1系統(tǒng)用戶界面設(shè)計19</p><p>  4.1.1客戶端界面19</p><p>  4.1.2服務(wù)器界面21</p><p>  4.2系統(tǒng)設(shè)計22</p><p>  4.2.1客戶端結(jié)構(gòu)22<

6、;/p><p>  4.2.2服務(wù)器端結(jié)構(gòu)23</p><p>  4.3客戶端功能實現(xiàn)的測試24</p><p><b>  參考文獻31</b></p><p><b>  致 謝32</b></p><p><b>  摘 要</b>&

7、lt;/p><p>  網(wǎng)絡(luò)聊天室是一種應用廣泛網(wǎng)絡(luò)聊天方式,操作簡單,功能豐富,是教學和學習面向?qū)ο蟮木幊趟枷氲睦硐腠椖???梢允褂枚喾N編程語言設(shè)計和開發(fā)出功能完善的網(wǎng)絡(luò)聊天室。 </p><p>  本畢業(yè)設(shè)計介紹Java語言設(shè)計與實現(xiàn)一個網(wǎng)絡(luò)聊天室過程,本系統(tǒng)采用C/S構(gòu)架設(shè)計,整個項目分為服務(wù)器端和客服端。使用了新的Java2標準Swing組件,開發(fā)出簡潔美觀和布局合理的用戶和服務(wù)器界面

8、;利用Socket網(wǎng)絡(luò)開發(fā)技術(shù)實現(xiàn)客戶端和服務(wù)器端的連接訪問,實現(xiàn)網(wǎng)絡(luò)功能;通過數(shù)據(jù)流操作的合理設(shè)計,實現(xiàn)信息傳遞、接收和數(shù)據(jù)保存。同時,采用多線程、多任務(wù)的 設(shè)計思想,開發(fā)出性能穩(wěn)定,功能全面的服務(wù)器。完整的實現(xiàn)系統(tǒng)的功能。</p><p>  通過本次畢業(yè)設(shè)計可以學到如何應用和實現(xiàn)面向?qū)ο蟮母鞣N方法,如何使用Eclipse集成開發(fā)環(huán)境來創(chuàng)建和開發(fā)項目,從而完成系統(tǒng)的完整開發(fā)。</p><p

9、>  關(guān)鍵字:聊天室;Java;Socket; C/S ;UDP;多線程</p><p><b>  Abstract</b></p><p>  The network chat room is a kind of applied extensive network chat method ,operate in ease and the function

10、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 funct

11、ion.</p><p>  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

12、 the server and client. Use 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; organize t

13、he data by good design of data stream to sent or accept the message between users and t</p><p>  I have leaned many method and things to use the Object-Oriented programming. And make me know how use the deve

14、lopment environment Eclipse to new program and the process to make the program.</p><p>  Key Words: ChatRoom; Java; Socket; C/S;UDP; multi-thread</p><p><b>  1 緒 論</b></p>

15、<p>  網(wǎng)絡(luò)技術(shù)是計算機領(lǐng)域中發(fā)展最為迅速的技術(shù)之一,它在政治、經(jīng)濟、生活等各個方面發(fā)揮著十分重要的作用。隨著計算機網(wǎng)絡(luò)的普及和推廣,將會有越來越多的人利用網(wǎng)上資源,享受不斷發(fā)展和完善的網(wǎng)絡(luò)服務(wù),以此來提高工作效率和水平。隨著我國經(jīng)濟發(fā)展和網(wǎng)絡(luò)的普及,網(wǎng)絡(luò)技術(shù)也越來越多地被應用于日常工作之中。在程序設(shè)計領(lǐng)域,面向?qū)ο蟮木幊碳夹g(shù)正在逐步代替面向過程的程序設(shè)計技術(shù),成為計算機應用設(shè)計開發(fā)的主流,尤其在網(wǎng)絡(luò)技術(shù)開發(fā)中,面向?qū)ο蟮?/p>

16、Java語言編程和相關(guān)的Java技術(shù)正在以前所未有的速度發(fā)展。網(wǎng)上購物、網(wǎng)上銀行、遠程教學、網(wǎng)絡(luò)聊天、網(wǎng)絡(luò)游戲等都開始使用Java技術(shù)。而且Java使平臺無關(guān)性的思想成為現(xiàn)實,獨立的Java程序可以被編譯為與平臺無關(guān)的字節(jié)碼,這種字節(jié)碼可以運行在任何擁有Java解釋器的機器上。 真正降低了企業(yè)成品和程序員的負擔。 隨著信息科學的進步與互聯(lián)網(wǎng)絡(luò)的發(fā)展,雖然通過網(wǎng)絡(luò)的聊天軟件很多,但針對于內(nèi)部系統(tǒng)的、局域網(wǎng)內(nèi)的聊天和公司內(nèi)部的上下

17、級溝通的聊天通訊軟件卻很少。所以開發(fā)一個此類型的即時通訊系統(tǒng)就變得非常有意義了。而在技術(shù)選擇上Java技術(shù)自然成為實現(xiàn)此系統(tǒng)的首選。 </p><p>  1.1 聊天室的發(fā)展</p><p>  聊天室做為即時通訊的一種,即時通訊(Instant Messenger,簡稱IM)軟件可以說是目前我國上網(wǎng)用戶使用率最高的軟件,無論是老牌的ICQ,還是國內(nèi)用戶量第一的騰訊QQ,以及微軟

18、的MSN Messenger都是大眾關(guān)注的焦點,它們能讓你迅速地在網(wǎng)上找到你的朋友或工作伙伴,可以實時交談和互傳信息。而且,現(xiàn)在不少IM軟件還集成了數(shù)據(jù)交換、語音聊天、網(wǎng)絡(luò)會議、電子郵件的功能。 </p><p>  IM軟件的歷史并不久遠,但是它一誕生,就立即受到網(wǎng)民的喜愛,并風靡全球。在它的發(fā)展史上,以色列人是功不可沒的。正是四位以色列籍的年輕人,在1996年7月成立的Mirabilis公司,并于同年11月推

19、出了全世界第一個即時通訊軟件ICQ,取意為“我在找你”——“I Seek You”,簡稱ICQ了。直到現(xiàn)在,ICQ已經(jīng)推出了它的2002a版本,在全球即時通訊市場上占有非常重要的地位。 </p><p>  目前,國內(nèi)最為流行的即時通訊軟件是OICQ(簡稱QQ)。它以良好的中文界面和不斷增強的功能形成了一定的QQ網(wǎng)絡(luò)文化。Messenger雖出道較晚,但依托微軟的強大背景,實力也不可小視。作為Windows XP

20、的一部分,Messenger 整合了操作系統(tǒng)的許多功能,如多種形式的聊天選擇、多人的單窗口討論式交流以及充分的文件與桌面共享功能等。它的令人耳目一新的中文界面和注冊方式,連同它強大的功能,著實吸引了眾多的眼球的注視,此外還有許多有特點的IM軟件。 </p><p>  1.2 即時通訊的應用 </p><p>  即時通訊軟件除了可以實時交談和互傳信息,不少還集成了數(shù)據(jù)交換、語音聊天、網(wǎng)絡(luò)

21、會議、電子郵件的功能。下面介紹的即時通訊軟件的主要應用功能: </p><p><b>  文字聊天 </b></p><p>  聊天功能是IM軟件最基本、也是最重要的功能,基本上每一種IM軟件在這個功能上的操作都差不多:如果用戶想與聯(lián)系人進行聊天,可以雙擊IM中聯(lián)系人的頭像,在彈出的對話框中敲入文字信息發(fā)送即可。QQ的特點是可以給不在線的朋友發(fā)送信息,對方下次上線

22、的時候可以收到,MSN雖然不具備這樣的功能,但是它在聊天過程中可以使用各種漂亮的表情圖標為聊天添加了不少情趣。 </p><p><b>  語音聊天 </b></p><p>  如果打字聊天的方式已不能滿足,QQ還提供了“二人世界”里的實時語音聊天,首先您得有音箱或者耳機、麥克風,然后就可以向您的網(wǎng)友發(fā)送連接到“二人世界”的請求,通過后雙方不僅可以用文字聊天,還可

23、以直接講話。此外QQ還有傳送語音功能利用此功能可以傳送語音信息。首先用鼠標左鍵單擊在線好友的頭像,選擇“傳遞語音”命令,然后就會彈出一個對話框,錄音以后就可以發(fā)送了。 </p><p><b>  傳送文件 </b></p><p>  IM軟件能點對點的傳輸文件,有時候利用此功能要比使用E-mail還方便許多,當然此項功能必須在對方在線時才能使用。在QQ的好友頭像上

24、點擊右鍵,選擇“傳送文件”,選定要傳送的文件,點擊發(fā)送,等待對方接受請求。此外,ICQ的文件傳送功能還支持類似斷點續(xù)傳的功能,不必擔心文件傳送過程中發(fā)生突然中斷的情況。 </p><p><b>  撥打電話 </b></p><p>  在MSN Messenger中提供了PC-PHONE的撥打電話功能,你可以在MSN Messenger軟件主窗口中,單擊操作窗口“

25、我想”下面的“撥打電話”或者用鼠標右鍵單擊要呼叫的人的名字,單擊“撥打電話”,就可以開啟撥叫電話功能。但在進行電話呼叫之前必須注冊語音服務(wù)提供商。由于MSN Messenger在國內(nèi)暫時還沒有開通這項業(yè)務(wù),所以我們還無法使用。 </p><p><b>  遠程協(xié)助 </b></p><p>  遠程協(xié)助是在Windows XP中引進的新概念,是Windows Mes

26、senger獨有的功能,遠程協(xié)助可以將電腦的控制權(quán)分享給對方以便于對尋求協(xié)助者提供幫助,通過它,對方可以很容易地控制尋求協(xié)助者的桌面。它的功能主要體現(xiàn)在應用程序共享、遠程協(xié)助、白板共享、尋求遠程協(xié)助等方面。由于這一功能非常強大,在尋求協(xié)助的過程中系統(tǒng)會多次提醒并給出選擇,請用戶在使用這一功能時多加小心,確認對方是否可靠。 </p><p><b>  視頻聊天 </b></p>

27、<p>  如果你的網(wǎng)速夠快,又有攝像頭的話,完全可以用IM軟件來代替掉Netmeeting了,在聊天的同時,不僅可以通話,還可以看到對方的圖像,表情,備感親切,給您帶來一份全新的感受。Windows Messenger對視頻聊天功能支持的不錯,設(shè)置和使用也非常簡單,右擊好友中“開始視頻對話”就完成操作,非常方便。 </p><p><b>  郵件輔助 </b></p&g

28、t;<p>  IM和E-mail是我們在網(wǎng)上最常用的兩種工具,如今不少IM軟件將兩者作了完美的結(jié)合。在QQ中你可以直接給自己的好友發(fā)郵件,而無須再輸入E-mail地址;此外對于自己的信箱QQ還有檢查新郵件功能,在“系統(tǒng)參數(shù)”中設(shè)置您自己的E-mail,填好POP3地址,您可以選擇定時檢查時間,QQ就會自動檢查有否新郵件到達。對于MSN Messenger來說它的郵件功能就更強大了,使用MSN Messenger你必須有一

29、個郵件賬號,每次當您的MSN Messenger登錄成功時,在右下角自動彈出一個窗口,里面寫有該E-mail賬戶內(nèi)的信件狀況,在使用過程中如果您的郵箱中有了新郵件,馬上會冒出一個提示窗。 </p><p><b>  發(fā)送短信 </b></p><p>  目前IM與各種移動終端設(shè)備的結(jié)合也越來越多。使用QQ向手機發(fā)送短信需要手機開通移動QQ服務(wù),單擊對方頭像圖標,在

30、打開的快捷菜單中選擇“手機短訊”命令,在打開的對話框中輸入信息,然后點擊發(fā)送即可完成,這時對方的手機就可以收到一個消息。給BP機發(fā)短訊也是一樣,不過對方的BP機服務(wù)臺必須是QQ所支持的情況下才行。當對方的手機收到你發(fā)來的短信后還可以回復,這時候您的QQ會彈出“查看手機短訊”的窗口來,非常方便。 </p><p><b>  瀏覽咨詢 </b></p><p>  有的

31、朋友上網(wǎng)只是使用QQ聊天,其實用QQ也可以很方便的看到每日最新的新聞。點擊QQ面板中的“資訊通”按鈕,瞧,“資訊通”已經(jīng)為您訂制好新聞啦:“新聞”、“IT科技”、“證券”、“體育”、“娛樂”……共十二大類新聞信息。你愿意看哪方面的新聞,就點擊相應的圖標,則出現(xiàn)“資訊通”界面,自動提取出當日新聞標題。通過這些標題,你可以快速地選擇出自己感興趣的新聞,點擊之就可以調(diào)用瀏覽器讀取了。這樣您就可以足不出戶閱讀有關(guān)內(nèi)容,節(jié)省了您的查找時間、提高了

32、瀏覽效率。 </p><p>  1.3各類通訊軟件的介紹和比較</p><p>  各種即時通訊軟件,真可謂“尺有所短,寸有所長”!ICQ功能最強大,全球用戶最多,但是設(shè)置比較復雜,而且沒有中文版本;MSN有著和Windows系統(tǒng)緊密結(jié)合的優(yōu)點;QQ則依托自己強大的本地優(yōu)勢,在國內(nèi)即時通訊軟件中搶占了先機。</p><p>  “小企鵝”與“巨人新星” </

33、p><p>  1、即時消息的發(fā)送 </p><p>  這是作為即時通訊軟件的最基本的功能。從發(fā)送消息的長短來看:QQ一次最多可發(fā)送450個漢字,而MSN最多也只有 400 個字符(200個漢字);同為中文界面的QQ與MSN,卻采用了完全不同的設(shè)計思路。從界面上來看,QQ采用“對話模式”和“普通模式”兩種(如圖1)。而MSN中只有一種方式。對于用慣了QQ的網(wǎng)友來說,可能會將一句并沒說完的話發(fā)

34、送出去,而按下“Ctrl+回車”僅僅是起換行作用。從發(fā)送字符格式的控制上,MSN無疑是占盡上風,不僅支持字體、字號大小以及字色的設(shè)置,這一點普通網(wǎng)友或許并不多用,但MSN能夠?qū)⒅T如“:)”之類的圖示符號自動轉(zhuǎn)換為“笑臉”等表達心情和表情的圖形,這點功能的確是非常棒的一種設(shè)計。 </p><p>  2、記錄的保存和再現(xiàn) </p><p>  這一點是QQ的強項。幾乎不用做任何動作,與所有網(wǎng)

35、友的聊天記錄都被完整地保存,只要你不去清理它,完全可以把兩年前與MM聊天時MM的承諾重現(xiàn)在MM面前,不怕MM不招!呵呵。而MSN在這點上是先天的缺陷。要想保存,就自己一邊聊一邊慢慢地“Copy”吧。 </p><p>  3、用戶的注冊和好友的添加 </p><p>  由于騰訊的用戶量急劇增加,使得QQ的新用戶ID申請變得異常困難。騰訊轉(zhuǎn)而向移動通訊用戶開放這一通道,盡管在功能的延伸方面

36、取得了成功和突破,卻因此也“激怒”了廣大的網(wǎng)友!同時,添加好友異常方便,也使得我們自己的QQ上經(jīng)常無端地收到許多莫名其妙的廣告或垃圾信息以及一些“不受歡迎”的網(wǎng)友的“入侵”!而MSN與眾不同的注冊設(shè)計,加上Hotmail和MSN.com兩大免費郵箱的隆重推出,使得我們的MSN可以非常清靜! </p><p><b>  4、其他功能比較 </b></p><p>  

37、QQ和MSN都有語音聊天、文件傳輸、啟動NetMeeting進行視頻聊天等功能,QQ在語音音質(zhì)、傳輸速度等方面略遜一籌,但總體功能設(shè)計上差別不大。但QQ獨有的卡通人物頭像的絕妙創(chuàng)意,是任何一款即時通訊軟件也無法與之媲美的。 </p><p>  不僅如此,騰訊還形成了自己完整的企業(yè)文化,像各種各樣的QQ玩偶、手表、T恤、背包、鑰匙鏈等應有盡有,網(wǎng)上銷售再加上全國數(shù)十家Q-GEN專賣店以及與移動廠商的合作等工作都進

38、行得紅紅火火,而這些都是時間沉淀積累的結(jié)果,初來乍到的MSN應該是無法比擬的。而MSN也以其方便的消息群發(fā)(單擊“我要……”下的“邀請他人加入該聊天”)和強大的資本和技術(shù)上的優(yōu)勢,完全有能力和可能繼續(xù)向QQ發(fā)起新一輪的攻擊。 </p><p>  “三朝元老”與“巨人新星” </p><p>  ICQ與MSN放在一起比較,的確很有意思。一個是即時通訊領(lǐng)域的“大哥大”,另一個是軟件業(yè)的“巨

39、無霸”,即時通訊領(lǐng)域的后起之秀。從功能上看,MSN目前顯然無法與ICQ相抗衡。但MSN借助與操作系統(tǒng)的無縫結(jié)合,任何人都不敢對它無禮和小視。 </p><p><b>  1、分組支持情況 </b></p><p>  兩者都支持對好友進行分組,且都有兩種模式,即組模式和狀態(tài)模式。兩個軟件的組模式幾乎相同,都是以組為主進行分類排序,即首類為組,每個組的下面再按在線和離

40、線兩種情況分類。所不同的是,ICQ的默認組只有一個,而MSN則提供了四個默認組:家人、朋友、同事及其他聯(lián)系人。ICQ的默認組可以重新命名但不能刪除;MSN默認組中“其他聯(lián)系人”既不能重命名也不能刪除,其他三組則都允許。 </p><p><b>  2、消息群發(fā)功能 </b></p><p>  MSN與ICQ都有消息群發(fā)功能。但MSN只能通過“邀請其他聯(lián)系人加入”的

41、方式進行,而且有最多加入四人(共五人)的限制。但ICQ的消息群發(fā)功能卻很強大。在對話模式下,單擊“Multiple”即可展開所有好友的列表。沒有人數(shù)限制,也沒有在線與否的限制(如圖2)。 </p><p><b>  3、其他功能比較 </b></p><p>  任何一款免費軟件的使用過程中,都會被強制地安插進一些廣告內(nèi)容,ICQ也不例外。對于這一點,財大氣粗的微軟

42、做得很好。無論是Windows XP中捆綁的MSN,還是網(wǎng)上免費下載的,幾乎看不到廣告的影子。另外,即使在最新的ICQ2002a中,似乎仍然不能支持網(wǎng)絡(luò)攝像機和視頻聊天等功能,而這些功能在即時通訊領(lǐng)域幾乎成了必備的功能。不過,ICQ中強大的查找好友功能,使你只需記住好友的哪怕是一點點信息,就可以輕松找到這位好友,令任何一款即時通訊軟件都望塵莫及(如圖3)。新版2002a中還新增了服務(wù)器保存好友信息的功能,使得在世界任何一個角落都可以及時

43、方便地與好友進行聯(lián)絡(luò)。 </p><p><b>  其他產(chǎn)品簡介 </b></p><p>  在即時通訊領(lǐng)域還有許多另類(非主流)的產(chǎn)品。如AOL Internet MSN、Yahoo! MSN(雅虎通)、SinaPager(新浪尋呼)、Sohu我找你、網(wǎng)易“口對口”、諾斯 TICQ 、夢幻尋呼(DICO)、OMMO、V2 Communicator、8dCall等

44、等。因為它們的用戶群相對較小,所以容易為人們忽視。但它們除了具備即時通訊的基本功能之外,都各有各的特點。這里只是挑選部分列舉一下它們各自的特色功能: </p><p>  1、雅虎通(Yahoo MSN):用戶可以通過它在線查詢股票、新聞、體育記分板、天氣、旅游等各方面的信息;還可以享受到雅虎網(wǎng)站的各種個性化服務(wù),包括:查閱來信、效率手冊、獲得股票報價、在線購物、拍賣投標、查詢分類廣告、訪問俱樂部、玩游戲、和朋

45、友聊天、閱讀征友廣告等等。 </p><p>  2、網(wǎng)易“口對口”:可以顯示各種類型網(wǎng)頁受歡迎的程度(點擊率)。這樣,你可以依靠訪問量的大小來找到最受歡迎的網(wǎng)頁(如圖4);可以通過在右下角正確的設(shè)置自己的四類狀態(tài)(“我的意圖”、“我的可見度狀態(tài)”、“我的表情”和“我的狀態(tài)),來充分展示自己的形象;可以即時了解自己的主頁點擊情況。方法是:點擊“工具”菜單下的“主頁觀察站”,彈出設(shè)置主頁URL窗口。輸入自己網(wǎng)站的網(wǎng)

46、址,設(shè)定好之后,每當你開啟網(wǎng)易口對口時,主頁觀察站就會自動彈出。窗口中顯示當前瀏覽該網(wǎng)頁的用戶人數(shù)(可見與不可見),以及在該頁上的留言數(shù)目。 </p><p>  3、SinaPager(新浪尋呼):網(wǎng)上留言功能——如果您的朋友沒有上網(wǎng),您可以方便地用中、英文給他留言,他只要使用瀏覽器就可以看到您的留言了;類似翻譯軟件的浮動條的設(shè)計(如圖5),可有效節(jié)約屏幕空間;與新浪網(wǎng)站、新浪電子郵件等緊密的結(jié)合功能。 <

47、;/p><p>  4、 諾斯 TICQ:定制新聞——當主機端新聞更新時,你就可以在滾動條里看到最新的新聞了;自動彈出短訊/消息滾動——可以讓消息在滾動條中滾動顯示;查看笑話——不時在屏幕上彈出一則笑話,令人捧腹大笑;定時鬧鐘——可以指定時間讓系統(tǒng)自動把設(shè)定的信息內(nèi)容發(fā)送給你的網(wǎng)友,或者提醒自己該干的事情;斷點續(xù)傳——傳送文件的功能幾乎所有的即時通訊軟件都具備。具備“斷點續(xù)傳”功能的即時通訊軟件還真不多見,TICQ就

48、是這樣一款軟件。 </p><p>  5、夢幻尋呼(DICO):郵件群發(fā)功能;豐富的插件使得我們可以聊天娛樂兩不誤(如圖6);方便清晰的語音聊天功能——能夠穿透防火墻,達到電話的音質(zhì)效果;個人Web服務(wù)——可以把你的個人電腦輕松設(shè)置成一個Internet Web服務(wù)器,讓網(wǎng)友到你的硬盤上瀏覽你的個人主頁。 </p><p>  6、酷8d網(wǎng)絡(luò)伙伴(8dCall):“聽聲辨人”可以以不同音

49、效通知好友上線或來信;股票成交消息實時回報——只要你是8dCall的會員,只要你的下單券商提供8dCall股票成交回報功能,不論你采用哪種方式進行股票交易(電話、柜臺、網(wǎng)絡(luò)等),都可以實時得到股票成交回報的消息;線上免費傳呼——使用8dCall可以免費傳送中文、英文或數(shù)字到好友或合作伙伴的傳呼機上。 </p><p>  2 實現(xiàn)聊天室的相關(guān)技術(shù)及環(huán)境</p><p>  2.1 Java

50、概述</p><p><b>  1、背景 </b></p><p>  最近一年多來 ,在 Internet上出現(xiàn)的特別吸引人的事件就是Java語言和用 Java編寫的瀏覽器 HotJava。 1991年 ,SUN MicroSystem公司的 Jame Gosling、 Bill Joe等人 ,為在電 視、控制烤面包箱等家用消費類電子產(chǎn)品上進行交互式操作而開發(fā)了一

51、個名為Oak 的軟件 (即一種橡樹的名字 ),但當時并沒有引起人們的注意 ,直到 1994年下半 年 ,Internet的迅猛發(fā)展 ,環(huán)球信息網(wǎng) WWW的快速增長 ,促進了 Java語言研制的 進展 ,使得它逐漸成為 Int ernet上受歡迎的開發(fā)與編程語言 ,一些著名的計算機 公司紛紛購買了 Java語言的使用權(quán) ,如 Mi-croSoft、 IBM、 Netscape、 Novell、 Apple、 DEC、 SGI等 ,因此 ,

52、Java語言被美國的著名雜志 PC Magazine評為 1995年十大優(yōu)秀科技產(chǎn)品 ,(計算機類就此一項入選 ),隨之大量出現(xiàn)了用 Java編寫的軟件產(chǎn)品 ,受到工業(yè)界的重視與好評 ,認為 "Java是八十年代以來計算機界的一件大事 ",微軟總裁比爾·蓋茨在悄悄</p><p>  因此 ,Java的誕生必將對整個計算機產(chǎn)業(yè)發(fā)生深遠的影響 ,對傳統(tǒng)的計算模型提出了新的挑戰(zhàn)。SUN

53、MicroSystem公司的總裁 Scott McNealy認為 Java為 Internet和 WWW開 辟了一個嶄新的時代。 環(huán)球信息網(wǎng) WWW的創(chuàng)始人 Berners-Lee說 :"計算機事業(yè)發(fā)展的下一個浪潮就 是 Java,并且將很快會發(fā)生的"。 看來 ,使用 Java已成大勢所趨 。 </p><p>  MicroSoft和 IBM兩大公司都計劃在 Internet上銷售用 Jav

54、a編寫的軟件。 Apple、 HP、 IBM、 MicroSoft、 Novell、 SGI、 SCO、 Tandem等公司均 計劃將 Java并入各自開發(fā)的操作系統(tǒng) ,而負責開發(fā)并推廣 Java技術(shù)的 SunSoft公 司 (這是 SUN下屬的一個子公司 ),將通過頒發(fā)許可證的辦法來允許各家公司把 Java虛擬機和 Jav a的 Applets類庫嵌入他們開發(fā)的操作系統(tǒng) ,這樣各類開發(fā)人員 就能更容易地選擇多種平臺來使用 Java語言

55、編程 ,不同的用戶也就可以脫離 Web 瀏覽器來運行 Java應用程序 ,這無疑是很受廣大用戶歡迎的 ,也為 Java語言的應 用開拓了極為廣闊的前景。 (當然 ,各類 JavaOS之間的兼容性必須得到重視 ,好在 JavaSoft已保證將監(jiān)督這種兼容性 )。 </p><p>  另外 ,由 JavaSoft推出的完全用 Java編寫的 Internet上新型瀏覽器HotJava,比去年 alpha版更為實用

56、,不僅能編制動態(tài)的應用軟件 ,而且能編制完整的成套桌面應用軟件 ,將來還會提供更多的能幫助編制動態(tài)應用軟件的模塊 ,顯然 ,這也是為 Java的應用提供了有力的例證。 </p><p>  今年 6月 7日 ,由 SUN公司和臺灣經(jīng)濟事務(wù)部信息發(fā)展局、臺灣信息技術(shù)研究所等單位牽頭 ,成立了一個"Java聯(lián)盟 ",參加的有 22個在臺灣相當著名的計算機公司 ,并在臺北建立一個 "Jav

57、a開發(fā)中心 ",在新竹建立一個"Java語言實驗室",以掀起臺灣開發(fā)與應用 Java語言的熱潮。 </p><p>  香港則在今年 4月就舉行了全島的 Java杯比賽 ,在計算機界掀起了學習 Java的熱潮 (尤其是在大學生們中 ,出現(xiàn)了一批 Java迷 )。 </p><p>  有人預言 :Java將是網(wǎng)絡(luò)上的 "世界語 ",今后所有

58、的用其他語言編寫的軟件統(tǒng)統(tǒng)都要用 Java語言來改寫。 </p><p>  2、Java語言對軟件開發(fā)技術(shù)的影響 </p><p>  工業(yè)界不少人預言 :"Java語言的出現(xiàn) ,將會引起一場軟件革命 ",這是因為傳統(tǒng)的軟件往往都是與具體的實現(xiàn)環(huán)境有關(guān) ,換了一個環(huán)境就需要作一番改動 ,耗 時費力 ,而 Java語言能在執(zhí)行碼 (二進制碼 )上兼容 ,這樣以前所開發(fā)的

59、軟件就 能運行在不同的機器上 ,只要所用的機器能提供 Java語言解釋器即可。Java語言將對未來軟件的開發(fā)產(chǎn)生影響 ,可從如下幾個方面考慮 : </p><p>  1軟件的需求分析 :可將用戶的需求進行動態(tài)的、可視化描述 ,以提供設(shè)計 </p><p>  者更加直觀的要求。而用戶的需求是各色各樣的 ,不受地區(qū)、行業(yè)、部門、愛好的 影響 ,都可以用 Java語言描述清楚。 </p

60、><p>  2軟件的開發(fā)方法 :由于 Java語言的面向目標的特性 ,所以完全可以用 O-O </p><p>  的技術(shù)與方法來開發(fā) ,這是符合最新的軟件開發(fā)規(guī)范要求的。 </p><p>  3 Java語言的動畫效果遠比 GUI技術(shù)更加逼真 ,尤其是利用 WW W提供的巨大 </p><p>  動畫資源空間 ,可以共享全世界的動態(tài)畫面的

61、資源。 </p><p>  4軟件最終產(chǎn)品 :用 Java語言 開發(fā)的軟件可以具有可視化、可聽化、可操 </p><p>  作化的效交互、動畫與動作 ",要它停就停 ,要它繼續(xù)就繼續(xù) ,而這是在電影與電視播放過程中難以做到的。 </p><p>  5其它 :使用 Java語言對開發(fā)效益、開發(fā)價值都有比較明顯的影響。 </p><p

62、><b>  3、應用前景</b></p><p>  Java語言有著廣泛的應用前景 ,大體上可以從以下幾個方面來考慮其應用 : </p><p>  1所有面向?qū)ο蟮膽瞄_發(fā) ,包括面向?qū)ο蟮氖录枋?、處理、綜合等 ; </p><p>  2計算過程的可視化、可操作化的軟件的開發(fā) ; </p><p>  3

63、動態(tài)畫面的設(shè)計 ,包括圖形圖像的調(diào)用 ; </p><p>  4交互操作的設(shè)計 (選擇交互、定向交互、控制流程等 ); </p><p>  5 Internet的系統(tǒng)管理功能模塊的設(shè)計 ,包括 Web頁面的動態(tài)設(shè)計、管理 </p><p>  和交互操作設(shè)計等 ; </p><p>  6 Intranet(企業(yè)內(nèi)部網(wǎng) )上的軟件開發(fā) (

64、直接面向企業(yè)內(nèi)部用戶的軟件 ); </p><p>  7與各類數(shù)據(jù)庫連接查詢的 SQL語句實現(xiàn) ; </p><p>  8其它應用類型的程序。</p><p>  4、Java的特點 </p><p>  Java語言有下面一些特點:簡單、面向?qū)ο蟆⒎植际?、解釋?zhí)行、魯棒、 安全、體系結(jié)構(gòu)中立、可移植、高性能、多線程以及動態(tài)性。</

65、p><p>  2.2 TCP/IP協(xié)議常識</p><p>  (1) TCP/IP協(xié)議的特點:</p><p>  TCP/IP(Transmission Control Protocol/Internet Protocol)是傳輸控制協(xié)議/網(wǎng)際協(xié)議的縮寫, TCP/IP是當今網(wǎng)絡(luò)互聯(lián)的核心協(xié)議。TCP/IP協(xié)議的體系結(jié)構(gòu)共有四個層次,即應用層、傳輸層、網(wǎng)絡(luò)互聯(lián)層和

66、網(wǎng)絡(luò)接口層。</p><p>  IP協(xié)議的作用:第一,它是網(wǎng)絡(luò)層的協(xié)議,提供互聯(lián)網(wǎng)上數(shù)據(jù)傳輸?shù)慕y(tǒng)一格式。第二,提供不可靠的無連接的服務(wù)。第三,定義了互聯(lián)網(wǎng)上的傳輸數(shù)據(jù)的基本單元,提供了供路由選擇的信息,沒有差錯校驗和處理的機制。</p><p>  TCP協(xié)議的功能:差錯控制——可靠性、面向連接、分段(Segment)、端口號。TCP是傳輸控制協(xié)議,是面向連接的提供了一種可靠的傳輸服務(wù),

67、它用三次握手和滑動窗口機制來保證傳輸?shù)目煽啃?,及進行流量控制。</p><p>  TCP/IP協(xié)議具有以下特點:</p><p>  1、協(xié)議標準具有開放性,其獨立于特定的計算機硬件及操作系統(tǒng),可以免費使用。</p><p>  2、統(tǒng)一分配網(wǎng)絡(luò)地址,使得每個TCP/IP 設(shè)備在網(wǎng)絡(luò)中都具有唯一的IP地址。</p><p>  3、實現(xiàn)了高

68、層協(xié)議的標準化,能為用戶提供多種可靠的服務(wù)。</p><p>  (2)TCP/IP協(xié)議進行傳輸數(shù)據(jù)傳輸?shù)倪^程:</p><p>  應用程序為了傳輸數(shù)據(jù)會調(diào)用TCP,將數(shù)據(jù)和對應的參數(shù)傳給TCP,將TCP  數(shù)據(jù)包封裝在IP包內(nèi),通過網(wǎng)絡(luò)送給目的TCP。接收方TCP在接收到數(shù)據(jù)后通知上層應用程序,TCP將保證接收數(shù)據(jù)的正確性。在實現(xiàn)TCP的主機上,TCP可以被看成是一個模塊,和

69、文件系統(tǒng)區(qū)別不大,TCP 也可以調(diào)用一些操作系統(tǒng)的功能,TCP不直接和網(wǎng)絡(luò)打交道,控制網(wǎng)絡(luò)的任務(wù)由專門的設(shè)備驅(qū)動模塊完成。TCP只是調(diào)用IP接口,向TCP提供所有TCP需要的服務(wù)。</p><p><b>  (3)端口號:</b></p><p>  有的時候,一個ip地址不能完整的標識一臺服務(wù)器,這是應為一臺物理性的計算機同時運行著多個應用程序,這就需要我們來區(qū)別

70、同一臺機子上的不同的服務(wù),所以就在傳輸層和應用層上設(shè)置接口,就是端口。端口實際是一個16位長的 地址,他的范圍是0~65535之間,其中0~1023是熟知端口,主要是給提供服務(wù)的應用程序使用,這些端口是所有應用進程都只道的,1024~65535為一般端口,也稱動態(tài)端口、連接端口,用來隨時分配要求通信的個客戶端應用程序。在數(shù)據(jù)傳輸過程中,各種服務(wù)器不斷的檢測分配給他的端口,一邊發(fā)現(xiàn)要求和他通信的客戶端。 </p>

71、<p>  (4)Socket的簡介</p><p>  Socket,簡稱套接字,用于實現(xiàn)網(wǎng)絡(luò)上客戶和服務(wù)器之間的連接。也就是說網(wǎng)絡(luò)上兩個或兩個以上雙工方式通信的進程之間總有一個連接,這個連接的端點成為套接字,套接字是在比較低的層次上通信的。</p><p>  具體的說:一個服務(wù)器應用程序一般偵聽一個特定的端口等待客戶端的連接請求,當一個連接請求到達時,客戶端和服武器端建立一

72、個通信連接,在連接過程中,客戶端被分配一個本地端口與一個socket建立連接,客戶端通過寫socket來通知服務(wù)器,以讀socket中的信息,類似的服務(wù)器也獲得一個本地端口,它需要一個新的端口號來偵聽原始端口上的其他連接請求。服務(wù)器也通過它的本地端口連接一個socket,通過讀寫和客戶端通信。</p><p>  Socket程序的工作過程,如圖2.1所示:</p><p>  1、建立S

73、ocket連接:在通信開始之前由通信雙方確認身份,建立一條專用的虛擬連接通道。</p><p>  2、數(shù)據(jù)通信:利用虛擬連接通道傳送數(shù)據(jù)信息進行通道。</p><p>  3、關(guān)閉:通信結(jié)束時,再將所建的虛擬連接拆除。</p><p>  圖2.1 客戶機/服務(wù)器socket通訊的工作模式圖</p><p>  第一次握手:原主機發(fā)送一個帶

74、有本次連接的序號的請求的一個數(shù)據(jù)幀。</p><p>  第二次握手:目的主機收到請求后,如果同意連接,則發(fā)回一個帶有一個本次連接序號和源端機連接序列號的確認。</p><p>  第三此握手:源端機收到含有兩次初始序列號的應答后,在向目的主機發(fā)送一個帶有兩次連接的序列號的確認。</p><p>  具體的三次握手過程,如圖2.2所示。</p><

75、;p>  主機A 主機B</p><p>  圖2.2 三次握手</p><p>  2.3系統(tǒng)開發(fā)工具與開發(fā)環(huán)境 </p><p><b>  2.3.1開發(fā)工具</b></p><p>  基于JAVA聊天系統(tǒng)的設(shè)計主要運用JAVA與語言與Socket類結(jié)合

76、而開發(fā)。其開發(fā)的主要環(huán)境包括:</p><p>  服務(wù)器端:(Windows平臺)首先應有java環(huán)境jdk,建議采用jdk1.5以上,另外還需配置classpath環(huán)境變量,本系統(tǒng)開發(fā)工具為MyEclipse5.5;</p><p>  客戶端:只要有java環(huán)境jdk就可以,建議jdk1.5。</p><p>  2.3.2開發(fā)環(huán)境  </p&

77、gt;<p>  本系統(tǒng)運行環(huán)境所需用到的環(huán)境為:硬件配置 :</p><p>  中央處理器(CPU) :P4 2.0G的處理器;</p><p>  硬  盤:40GB以上硬盤; 內(nèi)  存:512 DDR內(nèi)存;</p><p>  顯示器:17寸顯示器等; 顯  卡:128M顯存顯卡&

78、lt;/p><p>  軟件環(huán)境:WINDOWS XP、Eclipse、jdk1.6.03等</p><p>  3 網(wǎng)絡(luò)聊天系統(tǒng)的系統(tǒng)設(shè)計</p><p><b>  3.1項目概述</b></p><p>  人們?nèi)粘I钪性絹碓蕉嗟厥褂眠@項新技術(shù)來為自己的工作和學習服務(wù)。一個操作簡單、友好、運行穩(wěn)定的網(wǎng)絡(luò)聊天室對于小型

79、局域網(wǎng)內(nèi)的用戶可以起到很好的交流作用。本聊天室,所謂聊天室就是一個可以讓許多用戶同時互相通信的網(wǎng)上園地,個人用戶可以通過網(wǎng)上聊天室將自己融入整個主流社會中。因此,在網(wǎng)上聊天室這個虛擬的社會中,可以結(jié)交各層次各地方的朋友,從而為自己獲取更多的知識和更多的閱歷。</p><p>  該聊天室是為許多喜愛上網(wǎng)聊天的朋友開發(fā)設(shè)計的,希望能在現(xiàn)有的眾多聊天室中給大家多一種的選擇。和許多大型的網(wǎng)絡(luò)聊天室相比該小聊天室功能比較

80、簡單,但是實現(xiàn)了聊天的基本功能,點對多聊天,點對點聊天等,基于時間和技術(shù)的原因,很遺憾傳送文件、發(fā)送圖片、視頻聊天等尚未實現(xiàn)。</p><p><b>  3.2功能需求</b></p><p>  一個網(wǎng)絡(luò)聊天室的運行,首先是要有一個完整穩(wěn)定的服務(wù)器端,并且擁有很多個服務(wù)器端??头艘哂袑崿F(xiàn)用戶注冊和用戶登陸,在登陸成功后,要顯示出公聊界面,實現(xiàn)聊天功能并且能夠發(fā)

81、送表情和保存聊天內(nèi)容和顯示聊天記錄等功能,在新用戶上線和用戶下線時要更新每個客戶端在線用戶列表名,并且可以和在線的用戶實現(xiàn)一對一的私聊功能。</p><p>  在服務(wù)器端可以實現(xiàn)不斷的監(jiān)聽客服的連接,并且根據(jù)客戶端發(fā)送過來的不同信息如注冊信息,登錄信息,公聊信息,私聊信息,退出信息等,服務(wù)器端要做出不同的響應,并且要實現(xiàn)數(shù)據(jù)庫的操作,如根據(jù)用戶注冊的信息保存數(shù)據(jù)庫中,根據(jù)登錄時發(fā)送來的用戶名和密碼檢測是否合法用

82、戶等。</p><p>  客戶端功能模塊圖如圖3.1所示:</p><p>  · 用戶注冊功能,實現(xiàn)用戶的登陸ID注冊和個人信息,并存入服務(wù)器數(shù)據(jù)庫中。</p><p>  · 用戶登錄功能,實現(xiàn)合法注冊用戶的登陸。</p><p>  · 私聊功能,實現(xiàn)用戶和在線的其他用戶一對一的聊天方式。</p&g

83、t;<p>  · 公聊功能,實現(xiàn)用戶和在線的所有用戶聊天方式。</p><p><b>  · 顯示時鐘功能。</b></p><p>  · 查看聊天記錄,實現(xiàn)用戶查看已聊天的歷史聊天內(nèi)容。</p><p>  · 發(fā)送表情和設(shè)置聊天內(nèi)容字體,并可以設(shè)置字體顏色和背景色等。</p&

84、gt;<p>  · 過濾用戶聊天中的不文明用語</p><p>  圖3.1 客戶端結(jié)構(gòu)圖</p><p>  服務(wù)器端功能模塊圖如圖3.2所示:</p><p>  · 可以不斷的監(jiān)聽客戶端請求</p><p>  · 顯示登陸客戶的信息、當前在線人數(shù)、服務(wù)器開啟狀態(tài)、保存日志、用戶在線列表&l

85、t;/p><p><b>  · 發(fā)送系統(tǒng)消息</b></p><p><b>  · 踢人</b></p><p>  圖3.2 服務(wù)器端結(jié)構(gòu)圖</p><p><b>  3.3系統(tǒng)建摸</b></p><p>  在聊天室的分析過程

86、中,明確了系統(tǒng)主要有兩類角色(Actor)及相關(guān)用例</p><p>  系統(tǒng)管理員:系統(tǒng)管理員維護聊天室系統(tǒng)得所有信息,包括用護戶管理、配置服務(wù)器參數(shù)等。</p><p>  普通用戶:普通用戶可以使用系統(tǒng)進行聊天室服務(wù),包括:注冊用戶名、登錄服務(wù)器,聊天發(fā)言、退出聊天室等</p><p>  根據(jù)前面的分析,得到了聊天室系統(tǒng)的用例(UseCase)圖。如圖3.3

87、所示為整個系統(tǒng)的用例圖。</p><p>  圖3.3 系統(tǒng)的總體用例圖</p><p>  3.4 聊天室系統(tǒng)的設(shè)計</p><p>  3.4.1 聊天系統(tǒng)工作原理圖</p><p>  圖3.4 聊天系統(tǒng)工作原理圖</p><p>  3.4.2系統(tǒng)實現(xiàn)原理</p><p>  當用戶聊

88、天時,將當前用戶名、聊天對象、聊天內(nèi)容、聊天語氣和是否私聊進行封裝,然后與服務(wù)器建立Socket連接,再用對象輸出流包裝Socket的輸出流將聊天信息對象發(fā)送給服務(wù)器端。當用戶發(fā)送聊天信息時,服務(wù)端將會收到客戶端用Socket傳輸過來的聊天信息對象,然后將其強制轉(zhuǎn)換為Chat對象,并將本次用戶的聊天信息對象添加到聊天對象集Message中,以供所有聊天用戶訪問,具體實現(xiàn)過程如圖3.5所示。 接收用戶的聊天信息是由多線程技術(shù)實現(xiàn)

89、的,因為客戶端必須時時關(guān)注更新服務(wù)器上是否有最新消息,在本程序中設(shè)定的是3秒刷新服務(wù)器一次,如果間隔時間太短將會增加客戶端與服務(wù)器端的通信負擔,而間隔時間長就會讓人感覺沒有時效性,所以經(jīng)過權(quán)衡后認為3秒最佳,因為每個用戶都不可能在3秒內(nèi)連續(xù)發(fā)送信息。 當每次用戶接收到聊天信息后將會開始分析聊天信息然后將適合自己的信息人性化地顯示在聊天信息界面上。</p><p>  圖3.5 系統(tǒng)實現(xiàn)原理</p&g

90、t;<p>  3.4.3系統(tǒng)的設(shè)計過程</p><p>  (1) 用戶的登錄/退出</p><p>  用戶發(fā)送登錄請求,客戶端獲取用戶登錄信息并發(fā)送到服務(wù)器端,服務(wù)器啟動用戶登錄管理線程,獲取用戶名和密碼進行登錄驗證,將驗證結(jié)果返回客戶端顯示,如圖3.6示為普通用戶登錄/退出系統(tǒng)的時須圖。</p><p>  圖3.6 普通用戶登錄/退出系統(tǒng)時得

91、時序圖</p><p><b>  (2)用戶注冊</b></p><p>  用戶第一次進入聊天室時需要進行用戶注冊才能登陸聊天室聊天。注冊流程如下:用戶提出注冊請求,客服端響應,彈出注冊信息對話框,用戶輸入相關(guān)信息并提交,客戶端首先進行合法檢查,確定無誤后將數(shù)據(jù)信息發(fā)送給服務(wù)器端。服務(wù)器接收到請求后,啟動單獨得線程進行處理,首先進行合法性檢查,確認登錄名與系統(tǒng)中已

92、注冊得用戶登陸名不相同后更新數(shù)據(jù),并返回信息,客服端進行顯示。如圖3.7所示為用戶注冊的時序圖。</p><p>  圖3.7用戶注冊的時序圖</p><p><b> ?。?)發(fā)言</b></p><p>  發(fā)言是聊天室的核心功能,用戶提出發(fā)言請求,客戶端接受發(fā)言的內(nèi)容和其他各種設(shè)置(公聊或私聊),打包發(fā)給服務(wù)器端。服務(wù)器接收到請求后確定聊

93、天方式。服務(wù)結(jié)果最后顯示在客戶端。如圖3.8所示為發(fā)言的時序圖。</p><p>  圖3.8 發(fā)言的時序圖</p><p><b>  3.5數(shù)據(jù)封裝設(shè)計</b></p><p>  現(xiàn)在需要將數(shù)據(jù)封裝設(shè)計E-R圖轉(zhuǎn)化為能被實際數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型。</p><p>  Customer.java 對登陸的用

94、戶進行封裝,包括:用戶名 密碼,用戶頭像。</p><p>  Register_Customer.java對注冊信息進行封裝,包括:用戶名,密碼,性別,年齡,電子郵箱,用戶頭象。</p><p>  Message.java對服務(wù)器端消息進行封裝,包括:用戶在線對象集,聊天信息集,被踢者姓名,公告。</p><p>  Chat.java對客戶端信息進行封裝,包括

95、:發(fā)言人用戶名,聊天內(nèi)容接受對象用戶名聊天語氣是否私聊。</p><p>  Exit.java對退出用戶進行封裝,包括:退出者用戶名。</p><p>  4 聊天系統(tǒng)的實現(xiàn)及測試</p><p>  4.1系統(tǒng)用戶界面設(shè)計</p><p>  界面是人機交互的窗口。用戶界面接收用戶的輸入信息,并將程序執(zhí)行的結(jié)果向用戶輸出。良好的用戶界面

96、能夠提升用戶的工作效率,是系統(tǒng)得到更好的聲譽。</p><p>  根據(jù)用例可以制定出用戶界面,包括:用戶界面的功能、與用戶交互的信息,以及用戶界面之間的切換關(guān)系等本聊天室,界面主要由2部分組成:</p><p><b>  客戶界面</b></p><p><b>  服務(wù)器界面</b></p><p

97、>  4.1.1客戶端界面</p><p>  客戶端界面主要包括:登陸界面、注冊界面、聊天室界面。</p><p>  客戶端主要完成與服務(wù)器的連接和各種數(shù)據(jù)的傳送,為聊天室用戶提供良好的人機界面。</p><p>  用戶要進入聊天室必須首先經(jīng)過登錄。聊天室的客戶端登錄界面如圖4.1所示。用戶必須指定用戶名。輸入密碼。以及服務(wù)器的地址以及端口。</p

98、><p><b>  圖4.1 登陸界面</b></p><p>  用戶第一次登錄,需要注冊,點擊注冊,將出現(xiàn)注冊界面,如圖4.2所示。</p><p><b>  圖4.2 注冊界面</b></p><p>  用戶通過服務(wù)器驗證,登錄成功,將出現(xiàn)聊天室界面,如圖4.3所示。</p>

99、<p>  圖4.3 聊天室界面</p><p>  Java服務(wù)器主要提供各種聊天室服務(wù),包括數(shù)據(jù)轉(zhuǎn)發(fā),用戶信息維護,信息維護,其界面主要提供啟動服務(wù)的功能,分為服務(wù)器管理和用戶信息管理,如圖4.4所示。</p><p>  4.1.2服務(wù)器界面</p><p>  圖4.4 服務(wù)器管理界面</p><p>  圖4.5 用戶信息

100、管理界面</p><p><b>  4.2系統(tǒng)設(shè)計</b></p><p>  在將系統(tǒng)的界面設(shè)計完成時,就要開始進行系統(tǒng)的功能設(shè)計了,根據(jù)需求分析要求將分兩個部分來進行設(shè)計:</p><p><b>  服務(wù)器端模塊設(shè)計</b></p><p><b>  用戶端模塊設(shè)計</b&

101、gt;</p><p>  4.2.1客戶端結(jié)構(gòu)</p><p>  ChatClient.java 為客戶端程序啟動類,負責客戶端的啟動和退出。</p><p>  Login.java 為客戶端程序登錄界面,負責用戶帳號信息的驗證與反饋。</p><p>  Register.java 為客戶端程序注冊界面,負責用戶帳號信息的注冊驗證與反

102、饋。</p><p>  ChatRoom.java 為客戶端程序聊天室主界面,負責接收、發(fā)送聊天內(nèi)容與服務(wù)器端的Connection.java 親密合作</p><p>  Windowclose 為ChatRoom.java的內(nèi)部類,負責監(jiān)聽聊天室界面的操作,當用戶退出時返回給服務(wù)器信息。</p><p>  Clock.java 為客戶端程序的一個小程序,實現(xiàn)

103、的一個石英鐘功能。</p><p>  Login.java類成員函數(shù)如表4.1所示</p><p>  表4.1 Login.java類成員函數(shù)表</p><p>  ChatRoom.java類成員函數(shù)如表4-2所示</p><p>  表4.2 ChatRoom.java類成員函數(shù)</p><p>  Regi

104、ster.java類成員函數(shù)如表4.3所示</p><p>  表4.3 Register.java類成員函數(shù)</p><p>  Connection.java類成員函數(shù)如表4.4所示</p><p>  表4.4 onnection.java類成員函數(shù)</p><p>  4.2.2服務(wù)器端結(jié)構(gòu)</p><p>

105、;  AppServer.java創(chuàng)建服務(wù)器,啟動服務(wù)器,監(jiān)聽端口。如監(jiān)聽客戶的請求,當有用戶請求時創(chuàng)建 Connection線程。</p><p>  Connection.java 處理登陸,注冊信息,刷新服務(wù)器用戶列表,對聊天信息進行處理, 用戶退出處理,服務(wù)器信息處理,</p><p>  ServerFrame.java為服務(wù)器端程序聊天室主界面,負責保存日志,顯示服務(wù)器狀態(tài),做

106、踢人處理</p><p>  WordFilter.java 用戶聊天內(nèi)容過濾器</p><p>  服務(wù)器處理用戶登陸流程圖如圖4.6所示</p><p>  圖4.6 服務(wù)器處理用戶登陸流程圖</p><p>  4.3客戶端功能實現(xiàn)的測試</p><p><b>  用戶注冊的測試</b>

107、</p><p>  當用戶在登錄時,必須輸入用戶名和密碼才能進入,如果有一項為空,則彈出提示對話框提示請輸入相應空白區(qū)的內(nèi)容,如圖4.7和圖4.8所示。</p><p>  圖4.7用戶登錄異常</p><p>  2.用戶的注冊的測試</p><p>  當用戶在注冊時,必須輸入用戶名、密碼、確認密碼、年齡、電子郵箱才能進入,如果有一項為

108、空,則彈出提示對話框提示請輸入相應空白區(qū)的內(nèi)容。當什么也沒有輸入時,會出現(xiàn)如圖4.8所示的對話框。</p><p><b>  圖4.8</b></p><p>  當什么也沒有輸入時,會出現(xiàn)如圖所示的對話框。當輸入的密碼和確認密碼不一致是,系統(tǒng)會彈出如圖4.9所示的對話框。</p><p><b>  圖4.9</b>&

109、lt;/p><p>  當沒輸入年齡或者年齡的輸入不是數(shù)字時,系統(tǒng)會彈出如圖4.10所示的對話框。</p><p><b>  圖4.10</b></p><p>  當電子郵箱為空或者電子郵箱的格式不正確時,系統(tǒng)會彈出如圖4.11所示的對話框。</p><p><b>  圖4.11</b></

110、p><p>  3.用戶接收用戶聊天信息</p><p>  用戶可以接收聊天室內(nèi)所有在聊天室的用戶的消息,并再接收時可以看到發(fā)送信息人所設(shè)定的表情,如圖4.12所示,為了實現(xiàn)聊天室的用語文明,所以本聊天系統(tǒng)還實現(xiàn)了,非法聊天內(nèi)容進行屏蔽,使聊天室更加友好文明化。</p><p><b>  圖4.12</b></p><p&g

111、t;  本系統(tǒng)還實現(xiàn)了單人對單人的私聊,對自己的界面的字體和顏色進行改變,如圖4.13所示。</p><p><b>  圖4.13</b></p><p><b>  4.時鐘功能</b></p><p>  本系統(tǒng)實現(xiàn)了一個時鐘的功能,以方便用戶可以隨時看到時間如圖4.13所示。</p><p>

112、;<b>  圖4.13</b></p><p><b>  5.服務(wù)器踢人 </b></p><p>  服務(wù)器擁有踢人權(quán)限,可以踢除在線的用戶,如圖4.12所示。</p><p><b>  圖4.12</b></p><p><b>  6.服務(wù)器公告 <

113、/b></p><p>  系統(tǒng)可以對所有的用戶發(fā)系統(tǒng)消息,來通知用戶各種各樣的公告,如圖4.13所示。</p><p><b>  圖4.13</b></p><p>  7.服務(wù)器保存日志 </p><p>  系統(tǒng)可以對所有的用戶登錄和退出的信息,發(fā)系統(tǒng)消息,來通知用戶各種各樣的事情,如圖4.13所示。<

溫馨提示

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

評論

0/150

提交評論