JICQ設(shè)計(jì)文檔演示課件_第1頁(yè)
JICQ設(shè)計(jì)文檔演示課件_第2頁(yè)
JICQ設(shè)計(jì)文檔演示課件_第3頁(yè)
JICQ設(shè)計(jì)文檔演示課件_第4頁(yè)
JICQ設(shè)計(jì)文檔演示課件_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

作者:導(dǎo)師:Java即時(shí)通信工具(JICQ)1

簡(jiǎn)介

Java即時(shí)通信系統(tǒng)(JICQ)是以Java語(yǔ)言為實(shí)現(xiàn)的網(wǎng)絡(luò)即時(shí)通信工具,包括服務(wù)器端和客戶端,可以在企業(yè)內(nèi)部網(wǎng)絡(luò)和互聯(lián)網(wǎng)上運(yùn)行。使用JICQ可以和好友進(jìn)行交流,信息即時(shí)發(fā)送,即時(shí)回復(fù),傳輸文件等功能。本系統(tǒng)充分利用了Java語(yǔ)言的平臺(tái)無(wú)關(guān)性等眾多優(yōu)點(diǎn),主要采用了Socket網(wǎng)絡(luò)編程接口、多線程、輸入輸出流、Swing界面編程技術(shù),為我們構(gòu)建一個(gè)跨平臺(tái)的真正暢通的網(wǎng)絡(luò)信息交換工具。2

性能需求

客戶端(JICQ)與服務(wù)器端、客戶端與客戶端能夠順利進(jìn)行短信收發(fā)功能,短信內(nèi)容不能超過(guò)200字符,短信發(fā)送延遲時(shí)間小于6秒,否則消息發(fā)送失敗,并向用戶返回失敗原因。服務(wù)器端需要同時(shí)響應(yīng)最低500個(gè)用戶的訪問(wèn)量。3 JICQ系統(tǒng)部署圖Java即時(shí)通信系統(tǒng)的服務(wù)器端包括JICQ服務(wù)器程序(其監(jiān)聽9000端口)和數(shù)據(jù)庫(kù)服務(wù)器(本系統(tǒng)采用MSSQLServer2000);客戶端為JICQ即時(shí)通信工具軟件。

5

JICQ基本功能特點(diǎn)

1.客戶端(JICQ)向服務(wù)器的新用戶注冊(cè)功能。2.客戶端(JICQ)與服務(wù)器端之間的通信功能。3.客戶端(JICQ)之間的短信發(fā)送功能。4.客戶端(JICQ)之間的文件傳輸功能。5.網(wǎng)友分組的管理:好友組、陌生人組、黑名單組6.添加/刪除好友。7.服務(wù)器端存儲(chǔ)JICQ用戶表、好友列表、離線消息。 在客戶端存儲(chǔ)好友資料和聊天記錄。

6JICQ用例圖7JICQ用戶登陸活動(dòng)圖9客戶機(jī)(JICQ)之間的通信活動(dòng)圖10客戶機(jī)(JICQ)之間的文件傳送11刪除好友活動(dòng)圖13JICQ數(shù)據(jù)庫(kù)物理模型圖14JICQ數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)Java即時(shí)通信系統(tǒng)的數(shù)據(jù)庫(kù)服務(wù)器為MSSQLServer2000,數(shù)據(jù)庫(kù)名稱為JavaICQ,其中主要包括數(shù)據(jù)表Users、Friends、OfflineMsg。表名用途描述Users系統(tǒng)的用戶表存儲(chǔ)用戶的基本信息,保護(hù)信息,在線狀態(tài),以及在線時(shí)的IP地址,端口號(hào)等信息。Friends用戶的好友表存儲(chǔ)用戶號(hào)碼,好友號(hào)碼,以及好友類型等信息。OfflineMsg離線消息表存儲(chǔ)用戶的離線消息,在用戶上線時(shí)返回并消除。15JICQ系統(tǒng)類包Message包為JICQ系統(tǒng)的消息類包,其中包含有JICQ系統(tǒng)定義的短消息類型,為服務(wù)器與客戶端所共用;Server包為系統(tǒng)的服務(wù)器端程序類包,運(yùn)行在服務(wù)器端機(jī)器;Client包為系統(tǒng)的客戶端程序類包,運(yùn)行在客戶端機(jī)器。

17消息類消息類為即時(shí)通信系統(tǒng)中,客戶端與服務(wù)器端、客戶端與客戶端的通信基礎(chǔ)類。Message為消息類的基類,OrdinaryMsg、RegisterMsg、FinderSetMsg、FinderMsg、LoginedMsg、InformLogonMsg為它的派生類。Message消息基類,包含有所有消息的類型,以及基本屬性。RegisterMsg為注冊(cè)消息類,包含有所有注冊(cè)屬性。OridnaryMsg為普通的消息類,主要用于聊天、登陸、注銷等消息。FinderMsg為搜索請(qǐng)求消息類,包含有搜索類型,請(qǐng)求內(nèi)容。UserBasicInfor類型的網(wǎng)友數(shù)組。

LoginedMsg為返回的登陸消息類,其中包含有在線好友的列表。InformLogonMsg為通知在線好友的消息類,其中主要包含有當(dāng)前用戶的IP地址與端口。18客戶端JICQ線程控制客戶端JICQ主要由監(jiān)聽線程、消息處理線程控制。首先由監(jiān)聽線程監(jiān)聽消息,當(dāng)有消息來(lái)到時(shí),啟動(dòng)消息處理線程處理消息,最后由消息線程將消息通知用戶邊界對(duì)象。另外,客戶端還有一個(gè)能與服務(wù)器保持聯(lián)絡(luò)的線程,每?jī)煞昼娤蚍?wù)器通知一次,表明該客戶端仍然在線。

19服務(wù)器對(duì)客戶端JICQ的響應(yīng)邏輯1.對(duì)用戶注冊(cè)功能響應(yīng);2.對(duì)用戶登陸的響應(yīng);3.對(duì)用戶注銷的響應(yīng);4.對(duì)用戶搜索的響應(yīng);5.對(duì)添加好友的響應(yīng)

;6.對(duì)刪除好友的響應(yīng):21客戶端JICQ程序界面設(shè)計(jì)

JICQ系統(tǒng)登錄對(duì)話框

22注冊(cè)向?qū)ЖD―申請(qǐng)JICQ號(hào)碼

23注冊(cè)向?qū)ЖD―網(wǎng)絡(luò)設(shè)置

25注冊(cè)向?qū)ЖD―注冊(cè)成功

26查找向?qū)ЬW(wǎng)友結(jié)果對(duì)話框

29客戶端JICQ主面板

30發(fā)送消息對(duì)話框

31客戶端JICQ滑動(dòng)按鈕組工作原理主要使用了Swing界面類中的JPanel組件,Timer組件,自定義的ImageButton組件。每當(dāng)用戶單擊按鈕時(shí),激發(fā)Timer事件,每20毫秒展開或者縮小這三個(gè)JPanel組件,重新計(jì)算按鈕位置,以便于產(chǎn)生動(dòng)畫效果。自定義的ImageButton組件實(shí)現(xiàn)的接收短消息事件,每當(dāng)有短消息來(lái)到時(shí),ImageButton就會(huì)發(fā)生相應(yīng)的動(dòng)作,比如閃爍或者跳躍并發(fā)出聲音。32客戶端JICQ消息事件源與監(jiān)聽器原理

事件源是從監(jiān)聽端口接收到消息的線程,由事件源來(lái)注冊(cè)監(jiān)聽器,發(fā)送自定義的消息事件對(duì)象,監(jiān)聽器為實(shí)現(xiàn)消息監(jiān)聽接口的一組頭像組件。當(dāng)消息事件發(fā)生時(shí),事件源把短消息事件對(duì)象發(fā)送給頭像按鈕組件,頭像按鈕組件就會(huì)調(diào)用消息處理方法,完成象閃爍,跳躍,發(fā)出聲音等反應(yīng)。

33服務(wù)器端JICQ線程池原理多線程技術(shù)主要解決處理器單元內(nèi)多個(gè)線程執(zhí)行的問(wèn)題,它可以顯著減少處理器單元的閑置時(shí)間,增加處理器單元的吞吐能力。但如果對(duì)多線程應(yīng)用不當(dāng),會(huì)增加對(duì)單個(gè)任務(wù)的處理時(shí)間。假設(shè)在一臺(tái)服務(wù)器完成一項(xiàng)任務(wù)的時(shí)間為TT1創(chuàng)建線程的時(shí)間

T2在線程中執(zhí)行任務(wù)的時(shí)間,包括線程間同步所需時(shí)間

T3線程銷毀的時(shí)間T=T1+T2+T3線程池技術(shù)正是關(guān)注如何縮短或調(diào)整T1,T3時(shí)間的技術(shù),從而提高服務(wù)器程序性能的。它把T1,T3分別安排在服務(wù)器程序的啟動(dòng)和結(jié)束的時(shí)間段或者一些空閑的時(shí)間段,這樣在服務(wù)器程序處理客戶請(qǐng)求時(shí),不會(huì)有T1,T3的開銷了。一般一個(gè)簡(jiǎn)單線程池至少包含下列組成部分。線程池管理器(ThreadPoolManager):用于創(chuàng)建并管理線程池工作線程(WorkThread):線程池中線程任務(wù)接口(Task):每個(gè)任務(wù)必須實(shí)現(xiàn)的接口,以供工作線程調(diào)度任務(wù)的執(zhí)行。任務(wù)隊(duì)列:用于存放沒(méi)有處理的任務(wù)。提供一種緩沖機(jī)制。34總結(jié)與展望經(jīng)過(guò)一段時(shí)間的學(xué)習(xí)和工作,JICQ即時(shí)通信工具已經(jīng)初具雛形,實(shí)現(xiàn)了網(wǎng)絡(luò)即時(shí)通信工具的主要

溫馨提示

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

評(píng)論

0/150

提交評(píng)論