CS架構的即時聊天系統的設計與實現_第1頁
CS架構的即時聊天系統的設計與實現_第2頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 5/5CS架構的即時聊天系統的設計與實現 C/S架構的即時聊天系統的設計與實現 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架構的即時通訊系統概述 (3) 2.1系統的可行性分析 (3) 2.2系統的實現目標和基本功能 (4) 2.3系統開發環境和關鍵技術介紹 (4) 第三章基于C/S架構的即時通訊系統設計 (8) 31系統詳細設計 (8) 311 系統總體流程圖 (8) 312 系統總體功能模

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

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

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

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

10、工程學的方法。論文分為如下幾個部分: 第一部分,闡述了對即時聊天系統的分析。包括系統的可行性分析、系統實現的目標和基本功能分析以及使用的一些關鍵技術分析。 第二部分,闡述了整個系統的設計過程。包括系統總體設計、功能模塊劃分、數據庫設計和關鍵類的設計。 第三部分,詳細介紹了整個系統的實現。針對每一個功能的具體實現展開介紹,包括使用到的開發技術、類庫,第三方jar包等等。 第四部分,總結與展望。針對系統的優點和不足對系統進行了總結與展望。 第二章基于C/S架構的即時通訊系統概述 2.1系統的可行性分析 進行可行性研究就是在行動以前,對要辦的事進行調查,確認其可行與不可行,即:可行則行,不可行則止。

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論