CS架構(gòu)的即時(shí)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
CS架構(gòu)的即時(shí)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、 5/5CS架構(gòu)的即時(shí)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) C/S架構(gòu)的即時(shí)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) The Instant Messaging System based on C/S Structure Abstract: With the rapid development of the information age, especially the rise of internet technology, more and more people tend to communicate and deliver the messages through the internet.Instant messagi

2、ng system is such a widely used medium. With it,the real-time dialogue and file transfer can be easily carried out. Taking the design and development of the instant messaging system as the background , this article describes in detail the process of developing software systems with Java and MySql. T

3、he realization of the system is based on the TCP / IP communication protocol, and uses a client / server mode .Many advanced java technologies such as Swing ,java multi-threading, JDBC, socket programming and so on are used. By directly using the ServerSocket ,ObjectInputStream and other classes sup

4、ported in Java API, messages sented by the client and server side are packaged into a uified data stream in order to achieve the exchange of messages. The whole development process of this system follows software engineering methods,and instant messaging, group chatting, file transferring and other

5、functions are realized. Keywords: Java; database; Socket programming; instant messaging system; TCP/IP protocol 目錄 第一章引言 (1) 1.1選題背景和意義 (1) 1.2本文的主要工作 (2) 第二章基于C/S架構(gòu)的即時(shí)通訊系統(tǒng)概述 (3) 2.1系統(tǒng)的可行性分析 (3) 2.2系統(tǒng)的實(shí)現(xiàn)目標(biāo)和基本功能 (4) 2.3系統(tǒng)開發(fā)環(huán)境和關(guān)鍵技術(shù)介紹 (4) 第三章基于C/S架構(gòu)的即時(shí)通訊系統(tǒng)設(shè)計(jì) (8) 31系統(tǒng)詳細(xì)設(shè)計(jì) (8) 311 系統(tǒng)總體流程圖 (8) 312 系統(tǒng)總體功能模

6、塊劃分 (9) 313 系統(tǒng)用例圖 (10) 314 系統(tǒng)數(shù)據(jù)流圖 (12) 3.2 數(shù)據(jù)庫設(shè)計(jì) (14) 3.3 系統(tǒng)關(guān)鍵類結(jié)構(gòu)設(shè)計(jì) (19) 第四章基于C/S架構(gòu)的即時(shí)通訊系功能實(shí)現(xiàn) (24) 4.1注冊模塊功能實(shí)現(xiàn) (24) 4.2登錄模塊功能實(shí)現(xiàn) (26) 4.3聊天模塊功能實(shí)現(xiàn) (29) 4.4文件傳送模塊功能實(shí)現(xiàn) (31) 4.5后臺管理模塊功能實(shí)現(xiàn) (35) 第五章總結(jié) (39) 致謝 (42) 第一章引言 1.1選題背景和意義 隨著經(jīng)濟(jì)全球化的發(fā)展,世界各地的不同人、組織、機(jī)構(gòu)之間的聯(lián)系越來越密切。同時(shí)伴隨著互聯(lián)網(wǎng)技術(shù)的普及和發(fā)展,網(wǎng)絡(luò)即時(shí)通信工具已經(jīng)作為一種廉價(jià)、方便的信息交

7、流工具越來越受到人們的青睞。在21世紀(jì)初的短短十幾年間,即時(shí)通信系統(tǒng)(IM)的發(fā)展不斷地取得了驚人的成就。從早期只能互相發(fā)送字符并顯示在雙方的屏幕上的實(shí)時(shí)通信程序到現(xiàn)在的圖形化、面向互聯(lián)網(wǎng)、多功能的即時(shí)通信系統(tǒng),科學(xué)技術(shù)的進(jìn)步和整合不斷地促使著即時(shí)通信系統(tǒng)功能越來越豐富,用處越來越廣泛。從最早的即時(shí)通訊軟件ICQ誕生至今,市場上不斷涌現(xiàn)出類似的產(chǎn)品。不少廠商分別推出了自己的IM,如騰訊、阿里旺旺、新浪UC、移動飛信等,這些都是我們所熟悉的PC端的即時(shí)通訊軟件。隨著智能手機(jī)、平板電腦的普及,一些移動端的即時(shí)通信系統(tǒng)也如雨后春筍般涌現(xiàn)出來,如小米公司的米聊,騰訊公司的微信,還有年輕人之間很流行的陌

8、陌、游戲玩家常用的YY語音等。這些軟件本身功能也越來越豐富,遠(yuǎn)遠(yuǎn)超出了單純的即時(shí)聊天系統(tǒng)的范疇?,F(xiàn)在的即時(shí)通信系統(tǒng)不僅僅是人們的溝通工具,還成為了人們利用其進(jìn)行電子商務(wù)、工作、學(xué)習(xí)等交流的平臺1516。 在當(dāng)今社會,不管是個(gè)人用戶還是企業(yè)用戶,對溝通的需求總是在不斷地發(fā)展。傳統(tǒng)的溝通交流方式如電話、傳真、郵件等已經(jīng)不能完全滿足人們學(xué)習(xí)、工作、生活的需要。隨著計(jì)算機(jī)軟件、計(jì)算機(jī)網(wǎng)絡(luò)和移動通信技術(shù)的發(fā)展融合,集方便、廉價(jià)、快捷、實(shí)時(shí)等優(yōu)點(diǎn)于一身的即時(shí)通訊系統(tǒng)可以說是繼電子郵件、萬維網(wǎng)之后,互聯(lián)網(wǎng)上最具有殺傷力的應(yīng)用。很難想象一臺個(gè)人電腦沒有安裝像 這樣的即時(shí)通訊軟件。雖然即時(shí)聊天系統(tǒng)設(shè)計(jì)的初衷是聊

9、天,但正如前面所說,其功能已經(jīng)超出了聊天的范疇,隨著企業(yè)即時(shí)通訊工具(EIM)的出現(xiàn),IM系統(tǒng) 更是成了企業(yè)信息發(fā)布、資源共享、問題探討和網(wǎng)絡(luò)營銷的一把利器。通過現(xiàn)有的技術(shù),企業(yè)完全可以摒棄通用的免費(fèi)的即時(shí)通訊系統(tǒng),轉(zhuǎn)而根據(jù)自己企業(yè)的需求定制開發(fā)自己專屬的內(nèi)部即時(shí)通訊系統(tǒng),以實(shí)現(xiàn)更好的管理,提高員工的工作效率。我們的生活中溝通無處不在,即時(shí)聊天系統(tǒng)這類廣泛使用的基礎(chǔ)軟件的研究開發(fā)意義深遠(yuǎn)15。 1.2本文的主要工作 本文圍繞一個(gè)簡單實(shí)用的即時(shí)聊天系統(tǒng)的開發(fā),詳細(xì)介紹了使用Java編程語言、Java API和MySQL數(shù)據(jù)庫構(gòu)建一個(gè)軟件系統(tǒng)的過程。整個(gè)系統(tǒng)的分析、設(shè)計(jì)、開發(fā)、測試等過程遵循了軟件

10、工程學(xué)的方法。論文分為如下幾個(gè)部分: 第一部分,闡述了對即時(shí)聊天系統(tǒng)的分析。包括系統(tǒng)的可行性分析、系統(tǒng)實(shí)現(xiàn)的目標(biāo)和基本功能分析以及使用的一些關(guān)鍵技術(shù)分析。 第二部分,闡述了整個(gè)系統(tǒng)的設(shè)計(jì)過程。包括系統(tǒng)總體設(shè)計(jì)、功能模塊劃分、數(shù)據(jù)庫設(shè)計(jì)和關(guān)鍵類的設(shè)計(jì)。 第三部分,詳細(xì)介紹了整個(gè)系統(tǒng)的實(shí)現(xiàn)。針對每一個(gè)功能的具體實(shí)現(xiàn)展開介紹,包括使用到的開發(fā)技術(shù)、類庫,第三方j(luò)ar包等等。 第四部分,總結(jié)與展望。針對系統(tǒng)的優(yōu)點(diǎn)和不足對系統(tǒng)進(jìn)行了總結(jié)與展望。 第二章基于C/S架構(gòu)的即時(shí)通訊系統(tǒng)概述 2.1系統(tǒng)的可行性分析 進(jìn)行可行性研究就是在行動以前,對要辦的事進(jìn)行調(diào)查,確認(rèn)其可行與不可行,即:可行則行,不可行則止。

11、可行性研究的目的不是解決問題,而是研究在當(dāng)前的具體條件下,開發(fā)新系統(tǒng)是否具備必要的資源和其它條件。為了達(dá)到這個(gè)目的,必須認(rèn)真了解用戶的要求及現(xiàn)實(shí)環(huán)境,探索若干種可供選擇的解絕方案,并對每種解決方案的可行性進(jìn)行仔細(xì)論證。一般來說應(yīng)從以下幾個(gè)方面進(jìn)行論證12: 技術(shù)可行性:使用現(xiàn)有的技術(shù)能是否實(shí)現(xiàn)這個(gè)系統(tǒng) 經(jīng)濟(jì)可行性:這個(gè)系統(tǒng)的經(jīng)濟(jì)效益是否超過它的開發(fā)成本 操作可行性:系統(tǒng)的操作方式在這個(gè)用戶組織內(nèi)是否行得通在對本系統(tǒng)的分析中,同樣是從上面三個(gè)方面入手。本系統(tǒng)的可行性分析包括以下幾個(gè)方面的內(nèi)容: (1)技術(shù)可行性:基于網(wǎng)絡(luò)通信原理,利用Java提供的Swing、Socket等API和多線程編程、J

12、DBC等技術(shù)可以開發(fā)出簡單實(shí)用美觀的即時(shí)聊天系統(tǒng),因此技術(shù)上是可行的。(2)經(jīng)濟(jì)可行性:個(gè)人電腦和網(wǎng)絡(luò)的普及使得我們不需要太多的經(jīng)濟(jì)投入。在軟件方面,可以采用免費(fèi)的IDE如Eclipse和輕量級數(shù)據(jù)庫MySQL。無需太多的經(jīng)濟(jì)投入即可為局域網(wǎng)內(nèi)的即時(shí)通訊系統(tǒng)的實(shí)現(xiàn)提供支持。 (3)操作可行性:一方面可以讓本地機(jī)同時(shí)作為客戶端和服務(wù)器實(shí)現(xiàn)一臺機(jī)器上的即時(shí)通訊。另一方面,只要一臺以上計(jì)算機(jī)連接在同一個(gè)局域網(wǎng)內(nèi),并且在作為客戶端機(jī)器的本系統(tǒng)中設(shè)臵需要連接的作為服務(wù)器端機(jī)器的IP地址,本系統(tǒng)就可以實(shí)現(xiàn)局域網(wǎng)通訊,所以操作上完全不存在問題。如果要實(shí)現(xiàn)internet上通訊,理論上只需要將服務(wù)器端運(yùn)行在一

13、個(gè)有固定IP的公網(wǎng)上就可以。 綜上所述,這種C/S架構(gòu)的即時(shí)通訊系統(tǒng)的開發(fā)是可行的。 2.2系統(tǒng)的實(shí)現(xiàn)目標(biāo)和基本功能 對于個(gè)人用戶而言,能夠?qū)崿F(xiàn)好友即時(shí)通訊,傳遞實(shí)時(shí)信息,讓用戶隨時(shí)隨地都可與好友保持暢快有效的溝通。 對于企業(yè)用戶而言,能夠?qū)崿F(xiàn)建立員工交流平臺,統(tǒng)一信息發(fā)布平臺,減少運(yùn)營成本,促進(jìn)企業(yè)辦公效率。 商業(yè)即時(shí)通訊系統(tǒng)的功能越來越多樣化,一些功能也很新穎,如現(xiàn)在流行的語音對講功能。本系統(tǒng)不比商業(yè)系統(tǒng),沒有考慮過多的復(fù)雜性,主要實(shí)現(xiàn)了基本的通訊功能,以滿足學(xué)習(xí)研究之用。其基本功能有用戶注冊、客戶端登錄、一對一實(shí)時(shí)聊天、群組聊天、傳送文件、服務(wù)器后臺管理。 2.3系統(tǒng)開發(fā)環(huán)境和關(guān)鍵技術(shù)介

14、紹 (1)Java語言簡介 Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語言和Java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java 技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于個(gè)人PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計(jì)算機(jī)、移動電話和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開發(fā)者專業(yè)社群。在全球云計(jì)算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java 更具備了顯著優(yōu)勢和廣闊前景18。 Java之所以被開發(fā),是要達(dá)到以下五個(gè)目的2: ?應(yīng)當(dāng)使用面向?qū)ο蟪绦蛟O(shè)計(jì)方法學(xué) ?應(yīng)當(dāng)允許同一程序在不

15、同的計(jì)算機(jī)平臺執(zhí)行 ?應(yīng)當(dāng)包括內(nèi)建的對計(jì)算機(jī)網(wǎng)絡(luò)的支持 ?應(yīng)當(dāng)被設(shè)計(jì)成安全地執(zhí)行遠(yuǎn)端代碼 ?應(yīng)當(dāng)易于使用,并借鑒以前那些面向?qū)ο笳Z言(如C+)的長處。 Java語言有著簡單、面向?qū)ο?、分布式、健壯、安全、可移植等特性,因此受到了眾多程序開發(fā)人員的青睞。 (2)Eclipse簡介 Eclipse是著名的跨平臺開源集成開發(fā)環(huán)境(IDE)。它是一個(gè)開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。人們最初主要用它來做Java語言開發(fā),目前亦有人通過插件使其作為C+、Python、PHP等其他語言的開發(fā)工具。Eclipse本身就是用Jav

16、a語言開發(fā)的,它的設(shè)計(jì)思想是:一切皆是插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基本內(nèi)核包括:圖形API (SWT/Jface),Java開發(fā)環(huán)境插件(JDT ),插件開發(fā)環(huán)境(PDE)等。這些特性使得Eclipse擁有較佳的靈活性,許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE13。 (3)MySql簡介 MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于Oracle公司。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi),這樣就增加了速度并提高了靈

17、活性。與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個(gè)人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。MySQL軟件采用了雙授權(quán)政策,它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。本系統(tǒng)采用的后臺數(shù)據(jù)庫即為社區(qū)版7。(4)網(wǎng)絡(luò)通信協(xié)議簡介 網(wǎng)絡(luò)通信協(xié)議為連接不同操作系統(tǒng)和不同硬件體系結(jié)構(gòu)的互聯(lián)網(wǎng)絡(luò)提供通信支持,是一種網(wǎng)

18、絡(luò)通用語言。網(wǎng)絡(luò)通信的層次結(jié)構(gòu)和網(wǎng)絡(luò)通信的協(xié)議,是開發(fā)網(wǎng)絡(luò)程序的基礎(chǔ)。目前在網(wǎng)絡(luò)編程方面最常用的是TCP/IP和UDP通信協(xié)議。通過這些協(xié)議,網(wǎng)絡(luò)通信的 各主機(jī)可以用一種統(tǒng)一而非雜亂的規(guī)范,高效便捷地相互發(fā)送和接收消息。本系統(tǒng)在通訊功能實(shí)現(xiàn)中采用了TCP傳輸協(xié)議,直接使用的Java API提供的類Socket和Serversocket 等來實(shí)現(xiàn)69。 ?TCP傳輸協(xié)議說明 TCP協(xié)議是面向連接的協(xié)議,比如說在客戶端A和B進(jìn)行連接之前必須首先建立數(shù)據(jù)通路,就向打電話一樣,在通話之前必須先撥號,等待對方的接聽以后才能進(jìn)行通話。TCP協(xié)議中數(shù)據(jù)傳輸采取的是同步方式,當(dāng)數(shù)據(jù)發(fā)送到對方時(shí),必須等待接收方的應(yīng)答信號后才能繼續(xù)下一次的發(fā)送工作,即通常所講的三次握手。

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論