版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版公積金房屋交易貸款協(xié)議
- 2024版國(guó)家糧食儲(chǔ)備交易協(xié)議指導(dǎo)條款版B版
- 2022年中考化學(xué)魯教版總復(fù)習(xí)學(xué)案-坐標(biāo)曲線題
- 2023-2024年藥學(xué)類之藥學(xué)(中級(jí))考前沖刺模擬試卷B卷(含答案)
- 2024年股權(quán)退股結(jié)算協(xié)議
- 2024年版公司股權(quán)轉(zhuǎn)讓與撤資協(xié)議版B版
- 2024版?zhèn)€人商鋪的租賃合同
- 2024年資產(chǎn)買賣合同范本
- 2024年順豐速運(yùn)標(biāo)準(zhǔn)化運(yùn)輸協(xié)議模板版
- 2024版建設(shè)工程合同的重要性和必要性
- 危險(xiǎn)化學(xué)品經(jīng)營(yíng)許可證核發(fā)程序省公開課一等獎(jiǎng)全國(guó)示范課微課金獎(jiǎng)?wù)n件
- 1北京師范大學(xué)馬克思主義哲學(xué)期末測(cè)試卷
- 智能建造理論與實(shí)踐 課件全套 第1-6章 智能建造概述- 智慧城市
- 修井作業(yè)安全培訓(xùn)課件
- 新點(diǎn)軟件使用培訓(xùn)課件
- 內(nèi)控合規(guī)風(fēng)險(xiǎn)管理手冊(cè)
- 教師工作職責(zé)培訓(xùn)課件建立良好的教師與學(xué)生關(guān)系
- 品管部年度工作總結(jié)
- 胃腸外科病人圍手術(shù)期營(yíng)養(yǎng)管理專家共識(shí)護(hù)理課件
- 2024屆高考語(yǔ)文復(fù)習(xí):小說(shuō)敘述特色專題復(fù)習(xí) 課件
- 投放自助洗衣機(jī)合同書
評(píng)論
0/150
提交評(píng)論