JAVA聊天室試驗報告_第1頁
JAVA聊天室試驗報告_第2頁
JAVA聊天室試驗報告_第3頁
JAVA聊天室試驗報告_第4頁
JAVA聊天室試驗報告_第5頁
免費預(yù)覽已結(jié)束,剩余12頁可下載查看

下載本文檔

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

文檔簡介

1、JAVA聊天室實驗報告姓名:馬琳越班級:131114學(xué)號:13111368日期:2014年4月23日Word文檔目錄目錄 2 2JAVAJAVA 程序課程設(shè)計任務(wù)書.3.3摘要 4.4.第 1 1 章引言 5 5第 2 2 章聊天室系統(tǒng)的設(shè)計7.第 3 3 章界面設(shè)計 1.11.1第 4 4 章總結(jié)錯誤!未定義書簽。Java聊天室的設(shè)計任務(wù)書1.主要內(nèi)容用 JAVAJAVA 實現(xiàn)基于 C/SC/S 模式的聊天室系統(tǒng)。聊天室分為服務(wù)器端和客戶端部分,服務(wù)器端程序主要負責偵聽客戶端發(fā)來的信息,客戶端需要登陸到服務(wù)器端才可以實現(xiàn)正常的聊天功能。2.具體要求A.服務(wù)器端主要功能(1)(1) . .在特

2、定端口上進行偵聽,等待客戶端連接。(2)(2) . .用戶可以配置服務(wù)器端的偵聽端口,默認端口為 88888888。(3)(3) . .向已經(jīng)連接到服務(wù)器端的用戶發(fā)送系統(tǒng)消息。B.客戶端主要功能(1)(1) . .連接到已經(jīng)開啟聊天服務(wù)的服務(wù)器端。(2)(2) . .用戶可以配置要連接的服務(wù)器端的 IPIP 地址和端口號。(3)(3) . .用戶可以配置連接后顯示的用戶名。(4)(4) . .用戶可以向所有人或某一個人發(fā)送消息。3.主要參考文獻及運用工具(1)(1) BruceEckelBruceEckel 著 ThinkinginJava,ThinkinginJava,李著(2)(2)使用技

3、術(shù):JavaJava使用開發(fā)工具:Eclipse瘋狂 JavaJava 講義摘要在網(wǎng)絡(luò)越來越發(fā)達的今天,人們對網(wǎng)絡(luò)的依賴越來越多,越來越離不開網(wǎng)絡(luò),由此而產(chǎn)生的聊天工具越來越多,例如,國外的 ICQICQ、國內(nèi)騰訊公司開發(fā)的 OICQOICQ?;贘avaJava 網(wǎng)絡(luò)編程的強大功能,本次大作業(yè)要求使用 JavaJava 編寫一個聊天系統(tǒng)。一般來說,聊天工具大多數(shù)由客戶端程序和服務(wù)器程序外加服務(wù)器端用于存放客戶數(shù)據(jù)的數(shù)據(jù)庫組成,但是,由于自己數(shù)據(jù)庫知識的部分遺忘,本程序未連接數(shù)據(jù)庫,采用客戶機/服務(wù)器架構(gòu)模式,通過 JavaJava 提供的 SoketSoket 類來連接客戶機和服務(wù)器并使客戶

4、機和服務(wù)器之間相互通信。本系統(tǒng)建立在 JAVAJAVA 平臺上, 系統(tǒng)的設(shè)計使用了面向?qū)ο蠹夹g(shù)和面向?qū)ο蟮脑O(shè)計原則。系統(tǒng)采用 C/SC/S 結(jié)構(gòu),客戶端與客戶端以及客戶端與服務(wù)器端之間通過 SocketSocket 傳送消息。使用 JAVAJAVA 語言編寫,開發(fā)工具采用 EclipseEclipse 服務(wù)器端設(shè)計與實現(xiàn)過程中,采用了多線程技術(shù),可以在單個程序當中同時運行多個不同的線程,執(zhí)行不同的任務(wù)。大大增強了程序?qū)Ψ?wù)器資源的利用。聊天系統(tǒng)完成后將可進行多人對多人的聊天,對好友進行添加、刪除,對新用戶的注冊,發(fā)送消息、接受消息等等功能。第1章引言5.1背景在網(wǎng)絡(luò)越來越發(fā)達的今天,人們對網(wǎng)絡(luò)

5、的依賴越來越多,越來越離不開網(wǎng)絡(luò),由此而產(chǎn)生的聊天工具越來越多,類似 QQ,QQ,網(wǎng)絡(luò)聊天時一類的聊天系統(tǒng)的發(fā)展日新月異,這些軟件唯一的不足就是必須要聯(lián)網(wǎng)或者下載到它們的服務(wù)端,要不然是沒法脫離 IntenetIntenet 使用的。此次大作業(yè)既是利用網(wǎng)絡(luò)編程寫一個聊天室,以期通過制作該程序能更好的學(xué)習(xí)網(wǎng)絡(luò)軟件編程知識,此聊天室為能在一個沒有連接到IntenetIntenet 的局域網(wǎng)使用聊天工具。網(wǎng)絡(luò)編程的目的就是指直接或間接地通過網(wǎng)絡(luò)協(xié)議與其他計算機進行通訊。網(wǎng)編程中有兩個主要的問題,一個是如何準確的定位網(wǎng)絡(luò)上一臺或多臺主機,另一個就是找到主機后如何可靠高效的進行數(shù)據(jù)傳輸。在 TCP/IP

6、TCP/IP 協(xié)議中 IPIP 層主要負責網(wǎng)絡(luò)主機的定位,數(shù)據(jù)傳輸?shù)穆酚?,?IPIP 地址可以唯一地確定 InternetInternet 上的一臺主機。而 TCPTCP 層則提供面向應(yīng)用的可靠的或非可靠的數(shù)據(jù)傳輸機制,這是網(wǎng)絡(luò)編程的主要對象,一般不需要關(guān)心 IPIP 層是如何處理數(shù)據(jù)的。目前較為流行的網(wǎng)絡(luò)編程模型是客戶機/ /服務(wù)器(C/SC/S)結(jié)構(gòu)。即通信雙方一方作為服務(wù)器等待客戶提出請求并予以響應(yīng)。 客戶則在需要服務(wù)時向服務(wù)器提出申請。服務(wù)器一般作為守護進程始終運行,監(jiān)聽網(wǎng)絡(luò)端口,一且有客戶請求,就會啟動一個服務(wù)進程來響應(yīng)該客戶,同時自己繼續(xù)監(jiān)聽服務(wù)端口,使后來的客戶也能及時得到服務(wù)

7、。5.2課程設(shè)計要求利用套接字 socketsocket()()設(shè)計一個聊天程序,該程序基于 C/SC/S 模式,運行服務(wù)程序后,服務(wù)器創(chuàng)建成功,然后使服務(wù)器對某一個設(shè)定的端口處于監(jiān)聽狀態(tài),當有客戶端請求建立連接時,服務(wù)器就可接受請求,建立連接!這樣服務(wù)器和客戶端就可相互發(fā)送消息,實現(xiàn)聊天功能!5.3項目功能特點愀挀戀 戀戀 昀昀 戀愀 挀愀攀愀戀攙 一甀洀戀攀爀攀攙開挀%26113 攀攙攙攀 昀 戀戀 攙攙攀戀攙 一甀洀戀攀爀攀攙開攙愀 愀攙 攙 基本功能實現(xiàn)服務(wù)器監(jiān)聽,客戶端連接,可進行多人會話的 C/S 聊天室。愀挀戀 戀戀 昀昀 戀愀 挀愀攀愀戀攙 一甀洀戀攀爀攀攙開挀%26113 攀

8、攙攙攀 昀 戀戀 攙攙攀戀攙 一甀洀戀攀爀攀攙開攙愀 愀攙 攙 服務(wù)器特點. .在特定端口上進行偵聽,等待客戶端連接。. .用戶可以配置服務(wù)器端的偵聽端口,默認端口為 88888888。. .向已經(jīng)連接到服務(wù)器端的用戶發(fā)送系統(tǒng)消息。3.客戶端特點. .連接到已經(jīng)開啟聊天服務(wù)的服務(wù)器端。. .用戶可以配置要連接的服務(wù)器端的 IPIP 地址和端口號。. .用戶可以配置連接后顯示的用戶名。. .用戶可以向所有人或某一個人發(fā)送消息。1.4功能實現(xiàn). .注冊功能. .登陸驗證功能功能(3)(3), ,客戶通過服務(wù)器轉(zhuǎn)發(fā),實現(xiàn)聊天功能. .(4)(4), ,實現(xiàn)公聊功能。.易用,美觀的圖形界面,實現(xiàn)系統(tǒng)托

9、盤.第2章聊天室系統(tǒng)的設(shè)計系統(tǒng)需求分析聊天室的設(shè)計目標:通過做鞏固所學(xué) JavaJava 語言基本知識,增進 JavaJava 語言編輯基本功,掌握 JDKEclipseJDKEclipse 等開發(fā)工具的運用,拓寬常用類庫的應(yīng)用,用 JAVAJAVA 實現(xiàn)基于 C/SC/S 模式的聊天室系統(tǒng)。需要實現(xiàn)以下一些基本功能:A.A.消息發(fā)送:用戶可以發(fā)送消息給聊天室里所有的用戶。B.B.消息接受:用戶可以接收到其他用戶發(fā)送給他的消息。C.C.聊天室管理功能:聊天室管理員可以啟動或者關(guān)閉聊天室服務(wù)。系統(tǒng)開發(fā)及運行環(huán)境硬件平臺:CPU:Pentium2.8GHzCPU:Pentium2.8GHz 以上。

10、內(nèi)存:256MB256MB 以上。軟件平臺:操作系統(tǒng):WindowsXPWindowsXP。運行環(huán)境:JDKVersion1.7EclipseJDKVersion1.7Eclipse系統(tǒng)主要功能要求聊天室分為服務(wù)器端和客戶端兩部分,服務(wù)器端程序主要負責偵聽客戶端發(fā)來的信息,客戶端需要登陸到服務(wù)器端才可以實現(xiàn)正常的聊天功能。本系統(tǒng)主要實現(xiàn)如下功能:服務(wù)器:在特定端口上進行偵聽,等待客戶端連接。用戶可以配置服務(wù)器端的偵聽端口,默認端口為 88888888。向已經(jīng)連接到服務(wù)器端的用戶發(fā)送系統(tǒng)消息。一臺主機只能啟動一個服務(wù)器??蛻舳耍哼B接到已經(jīng)開啟聊天服務(wù)的服務(wù)器端。用戶可以配置要連接的服務(wù)器端的 I

11、PIP 地址和端口號。用戶可以配置連接后顯示的用戶名。當服務(wù)器端開啟后,用戶可以隨時登錄和注冊。用戶可以向所有人發(fā)送消息?;驹O(shè)計概念和處理流程本系統(tǒng)運行用 JAVAJAVA 開發(fā),采用 CSCS 結(jié)構(gòu),系統(tǒng)分為客服端和服務(wù)端兩大模塊,使用SocketSocket 類建立套接字實現(xiàn)客服端和服務(wù)端得通訊。(1)(1)系統(tǒng)主體的處理流程:發(fā)送請求返回應(yīng)答(2)(2)總體結(jié)構(gòu)網(wǎng)絡(luò)聊天室(3)(3)功能分配客戶端和服務(wù)器模塊功能樹圖客戶端:客服端服務(wù)端:服務(wù)端客服端顯示在線用戶接收并顯示消息2.4設(shè)計原理通信方式1)服務(wù)器建立一個 TCP 監(jiān)聽端口,等待客戶端連接。2)客戶連接服務(wù)器,服務(wù)器生成一個

12、Socket 服務(wù)該用戶。3)服務(wù)器接收來自客戶端的聊天信息,然后遍歷轉(zhuǎn)發(fā)給所有在線用戶。運行方式具體軟件的運行模塊組合為客戶端窗口的運行環(huán)境,服務(wù)器無窗口環(huán)境,服務(wù)器與客戶端在運行過程中傳輸字符,交換信息,處理數(shù)據(jù)。第3章界面設(shè)計(1)注冊登陸界面(2)注冊成功界面圖注冊成功,歡應(yīng)使用!0K0Ku&ernamem*linyntu&ernamem*linyntpassv/ordn1(3)重復(fù)注冊界面圖(3)登陸界面圖登陸成功既跳出兌話框,服務(wù)器端將顯示“登陸成功”以及“aclientconnected占clientconnected!clientconnected!(4)客戶端界面圖(5)多人

13、群聊界面圖A班起來, 走著人X、西八-八附近來,山人J聊虻來,走著K-第4章總結(jié).實驗中遇到的問題以及解決整個程序的框架寫出來后,準備啟動多個客戶端才發(fā)現(xiàn)此時不能同時啟動多個客戶端,后來閱讀到課本“多線程”那一章,用多線程解決了此問題。后來,在客戶端以及服務(wù)器端的交互過程中,不停的出現(xiàn)著各種異常以及問題,比方說IOException,EOFException,SocketClosed,IOException,EOFException,SocketClosed,在不斷的調(diào)試程序以及在網(wǎng)上找尋的視頻學(xué)習(xí)的過程中才解決這些問題。后來在寫登陸注冊時,也會不斷的出現(xiàn)問題,不是可以重復(fù)注冊就是注冊了點登陸

14、卻不能響應(yīng),諸如此類的很多問題,自己調(diào)試了許久也并沒有解決問題,最后找同學(xué)幫忙修改了此段程序。.實驗總結(jié)這次的大作業(yè)應(yīng)該是我接觸到的第一個項目,項目雖小,卻能暴露出很多問題。項目伊始,我在網(wǎng)上找了馬士兵的 javajava 講課視頻來看,為自己做項目找到了一個大體的思路,但是當自己著手做的時候,又會暴露很多問題,其中不乏有基礎(chǔ)知識沒有掌握牢固的部分, 所以說, 此次的 javajava 大作業(yè)也是一個鞏固所學(xué)知識的很好的機會。而且,通過這次大作業(yè),我認識到實戰(zhàn)一個項目所得到的遠比整天抱著書本看知識更能長知識,這個項目使我在運用 GUIGUI、線程、javajava 網(wǎng)絡(luò)和流等的方面更加熟練,對于細小的知識點也更加鞏固。而且,通過這個項目,我更深深的體會到:好的程序不是寫出來的,而是改出來的。此次編程,自己事先羅列了一個提綱:該實現(xiàn)什么功能,要實現(xiàn)此功能首先該實現(xiàn)什么步步剖析到最底層一個很簡單的東西,而自己的

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論