簡單聊天系統(tǒng)的設計與實現(xiàn)_第1頁
簡單聊天系統(tǒng)的設計與實現(xiàn)_第2頁
簡單聊天系統(tǒng)的設計與實現(xiàn)_第3頁
簡單聊天系統(tǒng)的設計與實現(xiàn)_第4頁
簡單聊天系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、簡單聊天系統(tǒng)的設計與實現(xiàn)簡單聊天系統(tǒng)的設計與實現(xiàn)信息科學與工程學院JISHOU UNIVERSITY專業(yè)課課程論文題 目:作 者: 學 號: 所屬學院: 專業(yè)班級: 總評分:完成時間:吉首大學信息科學與工程學院簡單聊天系統(tǒng)的設計與實現(xiàn)(吉首大學信息科學與工程學院,湖南吉首416000)摘要網(wǎng)絡聊天室通常直稱聊天室,是一種人們可以在線交談的網(wǎng)絡論壇,在同一聊 天室的人們通過廣播消息進行實時交談。在當今信息時代,越來越多的聊天工具被 應用,java語言是當今流行的網(wǎng)絡編程語言,它具有面向對象,與平臺無關,安全, 多線程等特點。使用java語言不僅可以實現(xiàn)大型企業(yè)級的分布式應用系統(tǒng),還能夠 為小型的

2、的,嵌入式設備進行應用程序的開發(fā)。面向對象的開發(fā)是當今世界最流行 的開發(fā)方法,它不僅具有更貼近自然地語義,而且有利于軟件的維護和繼承,鍛煉 我們熟練地應用面向對象的思想和設計方法解決實際問題的能力。本程序正是用 java語言實現(xiàn)了簡單聊天功能。它是圖形界面,線程,流與文件系統(tǒng)等技術的綜合 應用。其界面主要采用了 java.awt包,java.swing包等。關鍵詞:網(wǎng)絡聊天室;java;面向對象;通信機制;圖形界面第一章引言1 TOC o 1-5 h z HYPERLINK l bookmark20 o Current Document 第二章關鍵技術2 HYPERLINK l bookmar

3、k23 o Current Document 2.1開發(fā)技術2什么是 Java 22.1.2主要特性2 HYPERLINK l bookmark26 o Current Document 2.1.3 Java中的布局3 HYPERLINK l bookmark29 o Current Document 2.2開發(fā)工具3 HYPERLINK l bookmark32 o Current Document Eclipse3 HYPERLINK l bookmark36 o Current Document SQL Sever 數(shù)據(jù)庫3 HYPERLINK l bookmark40 o Curren

4、t Document 第三章需求分析4 HYPERLINK l bookmark43 o Current Document 3.1可行性分析4經(jīng)濟可行性43.1.2操作可行性43.1.3技術可行性4 HYPERLINK l bookmark46 o Current Document 3.2功能分析4 HYPERLINK l bookmark49 o Current Document 注冊4 HYPERLINK l bookmark52 o Current Document 登錄5 HYPERLINK l bookmark55 o Current Document 私聊5 HYPERLINK l

5、 bookmark58 o Current Document 第四章概要設計6 HYPERLINK l bookmark61 o Current Document 4.1系統(tǒng)總體結構6 HYPERLINK l bookmark64 o Current Document 4.2數(shù)據(jù)庫設計6 HYPERLINK l bookmark67 o Current Document 第五章詳細設計8 HYPERLINK l bookmark70 o Current Document 5.1登錄模塊設計8 HYPERLINK l bookmark73 o Current Document 5.2注冊模塊設計

6、9 HYPERLINK l bookmark76 o Current Document 5.3消息格式化設計10 HYPERLINK l bookmark79 o Current Document 5.4界面設計105.4.1登錄界面105.4.2注冊界面115.4.3聊天界面11 HYPERLINK l bookmark82 o Current Document 結束語12參考文獻123第一章引言當今主流的聊天工具有QQ, MSN,網(wǎng)易泡泡等,國內最熱門的聊天工具當 屬騰訊QQ,是由深圳市騰訊計算機系統(tǒng)公司開發(fā)的,基于Internet的即時尋呼 軟件。你可以通過QQ和你的親朋好友進行交流,即

7、時收發(fā)消息,文件傳輸,語 音視頻,發(fā)送郵件等功能,QQ不僅僅在電腦在應用,還能通過移動電話登錄手 機騰訊網(wǎng)址或者下載手機可用的手機客戶端進行QQ的登錄使用。QQ支持顯示 好友的在線信息,即時傳送信息、即時交談、即時發(fā)送文件和網(wǎng)址。QQ可以在 Win95/98/NT/2000/XP/Win7操作系統(tǒng)下運行,是十分靈活的網(wǎng)絡通信工具。雖然QQ軟件是免費的,而且功能也是越來越強大。但是唯一的不足的地方 就是都需要在電腦聯(lián)網(wǎng)的情況下才能使用,脫離了 Internet根本就是一個只能看 不能用的軟件,為了能在脫離了 Internet的情況下使用的局域網(wǎng)聊天工具,那就 必須要有服務器端,而本系統(tǒng)就是包括服

8、務器端和客戶端,可以在局域網(wǎng)聊天的 一個軟件。第二章關鍵技術2.1開發(fā)技術2.1.1什么是JavaJava是一種可以跨平臺應用的面向對象的程序設計語言,他是由Sun公司在1995 年推出的程序設計語音。Java具有很高的通用性,安全性,跨平臺等特點。Java與一般的 編譯執(zhí)行計算機語音和解釋執(zhí)行計算機語音不同。他它首先是將源代碼編譯成二進制的字節(jié) 碼,然后在各種不同平臺的虛擬機上來解釋執(zhí)行字節(jié)碼,從而實現(xiàn)了 “一次編譯、到處執(zhí)行” 的跨平臺的特性,這也是Java語言最大的特點。Sun公司在推出Java后就將它作為一種開 放式的技術,從而吸引了很多編程開發(fā)者。而Sun公司的口號之一就是“Java

9、語言是靠群 體的力量而非公司的力量”,并且獲得了廣大軟件開發(fā)商的認可。2.1.2主要特性Java語言的主要特性有:1)Java語言是簡單的。Java語言的語法和C語言,C+ 語言很相近,從而使得大多數(shù)的程序員很容易學習。2)Java語言是一個面向對象的。比C+ 更純粹的面向對象程序設計語言。3)Java語言是分布式的。Java的網(wǎng)絡能力強大且易于使 用。4)Java語言是健壯的。Java的強類型機制,異常處理,廢料的自動收集等是Java程序 健壯性的重要保證。5)Java語言是安全的。Java通常應用在網(wǎng)絡環(huán)境中,因此Java提供了 一個安全機制來防止惡意代碼的攻擊。6)Java語言是體系結構

10、中立的。Java程序在Java平 臺上被編譯為體系結構中立的字節(jié)碼格式,然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運 行。7)Java語言是可移植的。這種可移植行又來源于體系結構的中立性。8)Java語言是解 釋型的。Java程序在Java平臺上被編輯為字節(jié)碼格式,然后才可以在這個Java平臺的任何 系統(tǒng)中運行。9)Java是高性能的。與那些解釋型的高級腳本語言相比,Java的確是高性能 的。10)Java語言是多線程的。在Java語言中,線程是特殊的對象,它必須由Thread類或 其子類來創(chuàng)建。通常有兩種方法創(chuàng)建:第一,從Thread類派生出子類并重寫run方法,使 用該子類創(chuàng)建的對象即為線

11、程。第二,實現(xiàn)Runnable接口。2.1.3 Java中的布局邊框布局 BorderLayout、流布局 FlowLayout、網(wǎng) 格布局 GridLayout、分組布局 2GroupLayout、Box 類布局。2.2 開發(fā)工具EclipseEclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言, 它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發(fā)工具(JavaDevelopmentKit,JDK)。雖然大多數(shù)用戶很樂于將Eclipse當作Java集成開發(fā)環(huán)境(IDE)來使用, 但Eclipse的

12、目標卻不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(Plug-in DevelopmentEnvironment,PDE),這個組件主要針對希望擴展Eclipse的軟件 開發(fā)人員,因為它允許他們構建與Eclipse環(huán)境無縫集成的工具。由于Eclipse中 的每樣東西都是插件,對于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的 集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。這種平等和一致性并不僅限于Java開發(fā)工具。盡管Eclipse是使用Java語言 開發(fā)的,但它的用途并不限于Java語言;例如,支持諸如C/C+和COBOL等編 程語言的插件已經(jīng)可用,或預計將會推出。Eclip

13、se框架還可用來作為與軟件開 發(fā)無關的其他應用程序類型的基礎,比如內容管理系統(tǒng)?;贓clipse的應用程序的一個突出例子是IBMRationalSoftwareArchitect, 它構成了 IBMJava開發(fā)工具系列的基礎。SQL Server 數(shù)據(jù)庫SQL是英文Structured Query Language的縮寫,意思為結構化查詢語言。SQL語言的主 要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進行溝通。SQL Server是由Microsoft開發(fā)和推廣的關 系數(shù)據(jù)庫管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開 發(fā)的,并于1988年推出

14、了第一個OS/2版本。Microsoft SQL Server近年來不斷更新版本, 1996 年,Microsoft 推出 了 SQL Server 6.5 版本;1998 年,SQL Server7.0 版本和用戶見面; SQL Server 2000是Microsoft公司于2000年推出,目前最新版本是2012年3月份推出的 SQL SERVER 2012。特點:1).真正的客戶機/服務器體系結構。2).圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫 管理更加直觀、簡單。3).豐富的編程接口工具,為用戶進行程序設計提供了更大的選擇余 地。4). SQL Server與Windows NT完全集成,利

15、用了NT的許多功能,如發(fā)送和接受消息, 管理登錄安全性等。SQL Server也可以很好地與Microsoft BackOffice產(chǎn)品集成。5).具有 很好的伸縮性,可跨越從運行Windows 95/98的膝上型電腦到運行Windows 2000的大型多 處理器等多種平臺使用。6).對Web技術的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù) 發(fā)布到Web頁面上。7). SQL Server提供數(shù)據(jù)倉庫功能,這個功能只在Oracle和其他更昂 貴的DBMS中才有。第三章需求分析3.1可行性分析3.1.1經(jīng)濟可行性本系統(tǒng)需要一個SQL Server數(shù)據(jù)庫服務器,由于使用人數(shù)比較少,安裝一個免費的SQ

16、L Server數(shù)據(jù)庫完全可以應付需要,所以成本就不用考慮了。3.1.2操作可行性只要一臺以上計算機連接在同一個局域網(wǎng)內,本系統(tǒng)就可以安裝使用,所以操作上完全 不存在問題。3.1.3技術可行性本系統(tǒng)采用Java語言,是基于CS架構的。開發(fā)這個系統(tǒng)需要開發(fā)者對socket編程和 Java Swing這兩方面的技術比較熟。由于本人長期從事于java語言編程,所以技術方面是 可行的。3.2功能分析3.2.1注冊服務器收到用戶的注冊請求,便開始接受客戶傳遞的信息,諸如客戶的呢稱,性別,籍 貫,個人資料等,接受完畢后,便通過JDBC與后臺數(shù)據(jù)庫連接,然后向數(shù)據(jù)庫添加記錄, 如果成功,便向客戶返回其號碼。

17、客戶收到服務器返回的信息后,便打開主登陸窗口。3.2.2登錄在客戶端,用戶輸入其號碼和密碼,然后建立與服務器的連接,告訴服務器我要登錄, 服務器收到后,開始通過JDBC讀取數(shù)據(jù)庫,然后與用戶輸入的信息比較,如果成功,便打 開主程序窗口。然后客戶向服務器請求讀取好友名單,服務器收到該請求,開始讀取數(shù)據(jù)庫 中的表,得到好友的號碼后,再在icq表中讀取好友資料,然后向客戶端發(fā)送這些信息,客 戶收到后就在主窗口顯示好友,并且建立幾個矢量用以存儲好友的呢稱,號碼。3.2.3私聊私聊就是兩個聊天。客戶端首先發(fā)送消息到服務器端,服務器端根據(jù)發(fā)送人信息和接收 者信息來轉發(fā)。例如服務器接收到一個A發(fā)給B的消息先

18、判斷B是否已經(jīng)在線,如果在線 就將信息發(fā)送過去。B接收到A發(fā)來的信息,如果是未建立對話窗口,就詢問是否建立對 話,否則就丟棄信息。第四章概要設計4.1系統(tǒng)總體結構陣邪M:門!陣邪M:門!4.2數(shù)據(jù)庫設計1.用戶表(UserInfo):屬性:用戶編號(uid),用戶名(uname),密碼(upass),登錄ip 和端口號(ipport),狀態(tài)(status)。關系:一個用戶可以有多個好友。一個用戶可以有多條消息。1用戶編號uid整數(shù)2用戶名uname字符型3密碼upass字符型4登錄ip和端口號ipport字符型5狀態(tài)status布爾型2.好友表(Friends):屬性:好友編號(fid),用戶

19、好友編號(fuid)。1好友編號fid整數(shù)2用戶好友編號(外鍵,引用UserInfo中的uid)fuid整數(shù)3.消息表(Messages):屬性:消息編號(mid),接受消息的用戶編號(ruid),發(fā)送消息的用戶編號(suid),發(fā)送消息的時間(sendTime),消息類型(mtype)。1消息編號mid整數(shù)2接受用戶的編號(外 鍵,引用UserInfo中 的 uid)ruid整數(shù)3發(fā)送用戶的編號(外 鍵,引用UserInfo中 的 uid)suid整數(shù)4發(fā)送時間sendTime日期類型5消息類型mtype布爾型第五章詳細設計5.1登錄模塊設計該模塊的界面是仿照騰訊QQ的界面,界面與騰訊QQ相

20、比雖然不是那么美觀,但是基 本的功能也與其差不多了,在這個界面上用戶的主要操作有用戶輸入用戶名,密碼,如果還 沒有注冊用戶名的網(wǎng)友可以通過登錄界面的用戶注冊,從而使用該程序。在登錄該程序之前 需要開啟服務器,當用戶把用戶名和密碼輸入好后點擊登錄按鈕后,就開始與服務器建立連 接,服務器收到后開始通過JDBC的方式讀取數(shù)據(jù)庫的內容,然后與用戶輸入的用戶名和密 碼進行比較,如果用戶名不存在或者用戶的密碼錯誤則登錄失敗,并且提示失敗的原因,如 果有時候沒有把服務器開啟的話,則在登錄失敗后,會提示連接服務器超時。登錄成功后直 接跳到程序的主窗口,開始向服務器請求讀取好友分組和好友名單。5.2注冊模塊設計

21、該模塊是對于那些尚未注冊的用戶進行注冊使用,在這個界面注冊的用戶需要填寫的 有,昵稱,密碼,確認密碼,密保問題,問題答案,當這些內容填寫完成以后,就可以點擊 提交注冊按鈕。點擊這個按鈕后就會創(chuàng)建一個與服務器端的連接。連接成功就會將填寫的信 息發(fā)送到服務器端。如果服務器寫入數(shù)據(jù)庫成功,那么你便注冊成功,成功后會返回一個數(shù) 字帳號給用戶,這個時候你可以用你剛才注冊成功的數(shù)字帳號和密碼進行登錄。5.3消息格式化設計5.4界面設計5.4.1登錄界面運行程序后,彈出登錄界面,等待用戶操作。5.4.2注冊界面在登錄界面,點擊“注冊”,彈出注冊界面,按要求輸入信息。5.4.3聊天界面Q sfii進入聊天室孑

22、茶含浚痍展於藐魏漆3/ 口國我說:hello!192.16875.40: howreyou!我說;fine .Thank you!192.188.7S.40: Urn glad to see you!孤說:me.too192.160.750: bye!Kiffi:響192.1 S3 75 40發(fā)送退出結束語課程設計的第一天我不是拿到任務書就開始敲代碼,一整天我都是在看書上 網(wǎng)絡編程的知識。然后就是在網(wǎng)上找資料,找插件。本來最先開始我使用的是 TCP協(xié)議進行通信,但是后來感覺聊天系統(tǒng)不需要對數(shù)據(jù)的傳輸有絕對的正確, 況且是在通信狀況非常好的局域網(wǎng),所以我把協(xié)議改成了 UDP。設計的聊天窗 口需要輸入對方IP,如果對方也啟動了程序就可以相互發(fā)送消息。如果不輸入 IP則默認的是向本機發(fā)送。數(shù)據(jù)庫的連接也遇上了點小麻煩,查詢數(shù)據(jù)庫還比 較順利的,可是當要修改數(shù)據(jù)庫時,試了多次都沒添加進去。后來發(fā)現(xiàn)是因為我 寫的數(shù)據(jù)庫連接的類查詢和插入必須用兩個不同的實例。不然數(shù)據(jù)集會在查詢以 后有所改變。界面的設計是用的我在網(wǎng)上找的jigloo插件。因為這個插件功能比 較完善,而且添加的也很方便,直接解壓到ECLIPSE文件夾就行了。起初我以 為有了這個插件就可以像VB那樣拖一拖就能完成??墒呛髞戆l(fā)現(xiàn)它與VB的界 面設計完全不一樣。最終還是要自己動手修改代碼。所以我采

溫馨提示

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

評論

0/150

提交評論