已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
存檔編號_x x 師 范 學 院 學 士 學 位 論 文基于 Java 的仿 QQ 聊天系統(tǒng)的設(shè)計與實現(xiàn)目 錄內(nèi)容摘要: .1關(guān)鍵字: .1Abstract: .1Key words: .11. 引言 .22. 系統(tǒng)分析 .22.1 可行性分析 .22.2 需求分析 .33. 總體設(shè)計 .113.1 功能模塊圖 .113.2 數(shù)據(jù) 庫設(shè)計 .123.3 類圖 .184. 詳細設(shè)計及實現(xiàn) .194.1 界面設(shè)計 .194.2 數(shù)據(jù)輸入輸出設(shè)計 .234.3 代碼實現(xiàn) .245 系統(tǒng)測試 .315.1 注冊測試 .315.2 登陸測試 .315.3 私聊測試 .325.4 群聊測試 .335.5 文件傳輸測試 .346 總結(jié) .35參考文獻 .3737內(nèi)容摘要: 計算機網(wǎng)絡(luò)的迅速發(fā)展,對人類社會諸多領(lǐng)域產(chǎn)生了巨大的影響。尤其是,隨著信息時代的來臨,人們之間愈來愈趨向于通過網(wǎng)絡(luò)來交流和傳遞信息。而聊天系統(tǒng)正是當前人們使用最多的中介。在這個平臺上,許多認識或不認識的人們彼此間能夠隨意的相互交流。因此,開發(fā)和架構(gòu)這種平臺符合時代發(fā)展的需要。本系統(tǒng)在開發(fā)中用到了局域網(wǎng)通信機制的原理,通過直接繼承Thread 類來建立多線程。開發(fā)中利用了計算機網(wǎng)絡(luò)編程的基本理論知識,如 TCP/IP 協(xié)議、客戶端/服務(wù)器端模式(Client/Server 模式) 、網(wǎng)絡(luò)編程的設(shè)計方法等。在網(wǎng)絡(luò)編程中對信息的讀取、發(fā)送,是利用流來實現(xiàn)信息的交換,其中介紹了對實現(xiàn)一個系統(tǒng)的信息流的分析,包含了一些基本的軟件工程的方法。關(guān)鍵字: S ocket;服務(wù)器端; 客戶端; 連接(connection) Abstract:The rapid development of the computer networks has been making a great influence in many fields of human society. In particular, along with information age approaching, between the people tend to increasingly in exchanges and the transmission information through the network. But chats the system is precisely the current people uses many intermediary,。In this platform, people each other which many understanding or did not know can at will mutual exchange. Therefore, the development and overhead construction this kind of platform conforms to the time need to develop.This system with the LAN correspondence mechanism principle, through inheritting the Thread kind to establish the multithreading directly. In the development, it uses the elementary theory knowledge which the computer network programmes. for example, TCP/IP agreement, Client/Server pattern, network programming design method and so on. In the network programming, it realizes reading and transmission of the information, that is, informaton flows realize the information exchange, introduce information flow analysis for realizing a system, in which containes some basic software engineering methods.Key words: Socket ; server ; client ; connection381. 引言當今主流的聊天工具有 QQ,ICQ,MSN Messenger,Yahoo Messenger 等,國內(nèi)最熱門的當屬 QQ,騰訊 QQ( OICQ)是由深圳市騰訊計算機系統(tǒng)公司開發(fā)的,基于 Internet 的即時尋呼軟件。您可以使用 QQ 和好友用戶進行交流,信息即時發(fā)送,即時回復(fù),收發(fā)及時、功能全面。此外 QQ 還具有 BP 機網(wǎng)上尋呼、聊天室、傳輸文件、語音郵件、手機短訊服務(wù)等功能,QQ 不僅僅是虛擬的網(wǎng)絡(luò)尋呼機,更可與傳統(tǒng)的無線尋呼網(wǎng)、GSM 移動電話的短消息系統(tǒng)互聯(lián),目前 QQ和全國多家尋呼臺、移動通信公司有業(yè)務(wù)合作。是國內(nèi)不可多得的中文網(wǎng)絡(luò)尋呼機。QQ 支持顯示朋友在線信息、即時傳送信息、即時交談、即時發(fā)送文件和網(wǎng)址。QQ 可以在 Win95/98/NT/2000 操作系統(tǒng)下運行,是十分靈活的網(wǎng)絡(luò)尋呼工具。它會自動檢查您是否已聯(lián)網(wǎng),如果您的電腦已連入 Internet,可以搜索網(wǎng)友、顯示在線網(wǎng)友,可以根據(jù)QQ 號、昵稱、姓名、email 地址等關(guān)鍵詞來查找,找到后可加入到通訊錄中。當您的通訊錄中的網(wǎng)友在線時,QQ 中朋友的頭像就會顯示在線,根據(jù)提示就可以發(fā)送信息,如果對方登記了尋呼機或開通了GSM 手機短消息,即使離線了,您也可及時將信息傳遞給您的好友。雖然以上這些軟件是免費的,并且功能越來越強大。但是它們的唯一的不足就是必須要聯(lián)網(wǎng)或者下載到它們的服務(wù)端,要不然是沒法脫離 Intenet 使用的。為了能在一個沒有連接到 Intenet 的局域網(wǎng)使用聊天工具,那就必須要有服務(wù)器端。本系統(tǒng)就是包括服務(wù)器端與客戶端,可以在局域網(wǎng)聊天的一個工具。2. 系統(tǒng)分析2.1 可行性分析1)經(jīng)濟可行性:本系統(tǒng)需要一個 oracle 數(shù)據(jù)庫服務(wù)器,由于使用人數(shù)比較少,安裝一個免費的 oracle 數(shù)據(jù)庫完全可以應(yīng)付需要,所以成本就不用考慮了。2)操作可行性:只要一臺以上計算機連接在同一個局域網(wǎng)內(nèi),本系統(tǒng)就可以安裝使用,所以操作上完全不存在問題。3)技術(shù)可行性:本系統(tǒng)采用 Java 語言,是基于 CS 架構(gòu)的。開39發(fā)這個系統(tǒng)需要開發(fā)者對 socket 編程和 java Swing 這兩方面的技術(shù)比較熟。由于本人長期從事于 java 語言編程,所以技術(shù)方面是可行的。2.2 需求分析2.2.1 功能分析本系統(tǒng)要實現(xiàn)的功能如下:1)注冊服務(wù)器收到用戶的注冊請求,便開始接受客戶傳遞的信息,諸如客戶的呢稱,性別,籍貫,個人資料等,接受完畢后,便通過 Jdbc-Odbc 與后臺數(shù)據(jù)庫連接,然后向數(shù)據(jù)庫添加記錄,如果成功,便向客戶返回其號碼??蛻羰盏椒?wù)器返回的信息后,便打開主登陸窗口。2)登陸在客戶端,用戶輸入其號碼和密碼,然后建立與服務(wù)器的連接,告訴服務(wù)器我要登錄,服務(wù)器收到后,開始通過 JdbcOdbc 讀取數(shù)據(jù)庫,然后與用戶輸入的信息比較,如果成功,便打開主程序窗口。然后客戶向服務(wù)器請求讀取好友名單,服務(wù)器收到該請求,開始讀取數(shù)據(jù)庫中的表,得到好友的號碼后,再在 icq 表中讀取好友資料,然后向客戶端發(fā)送這些信息,客戶收到后就在主窗口顯示好友,并且建立幾個矢量(Vector )用以存儲好友的呢稱,號碼。3)私聊私聊就是兩個聊天。客戶端首先發(fā)送消息到服務(wù)器端,服務(wù)器端根據(jù)發(fā)送人信息和接收者信息來轉(zhuǎn)發(fā)。例如服務(wù)器接收到一個 A 發(fā)給B 的消息,先判斷 B 是否已經(jīng)在線,如果在線就將信息發(fā)送過去。B接收到 A 發(fā)來的信息,如果是未建立對話窗口,就詢問是否建立對話,否則就丟棄信息。4)群聊群聊,就是多人一起聊天。過程與私聊差不多。唯一的不同就是服務(wù)器會將信息轉(zhuǎn)發(fā)給指定群的所有成員。5)創(chuàng)建分組用戶注冊以后默認的好友分組只有一個。用戶在執(zhí)行添加分組操作以后,客戶端分將一個這個動作的信息發(fā)送給服務(wù)器端(主要是FromClientlisten) 。服務(wù)器端的 fromClientListen 接收到這個請求,會進行數(shù)據(jù)庫操作,將要添加的分組信息插入到數(shù)據(jù)庫中。如果成功,則返回這個分組的信息給客戶端,否則返回錯誤提示信息。406)創(chuàng)建群用戶注冊以后群個數(shù)為 0。用戶在執(zhí)行添加群操作以后,客戶端分將一個這個動作的信息發(fā)送給服務(wù)器端(主要是 FromClientlisten) 。服務(wù)器端的 fromClientListen 接收到這個請求,會進行數(shù)據(jù)庫操作,將要添加的群信息插入到數(shù)據(jù)庫中。如果成功,則返回這個群的信息給客戶端,否則返回錯誤提示信息。7)查找好友并加為好友輸入要查找的用戶 ID 號,客戶端發(fā)送一個查詢信息給服務(wù)器端,如果找到就返回用戶服務(wù)信息。打開一個用戶信息顯示界面,該界面會提供一個“添加為好友”按鈕,點擊后可將此人加為好友。如果未找到,彈出一個信息提示框。8)查找群并加入群輸入要查找的群 ID 號,客戶端發(fā)送一個查詢信息給服務(wù)器端,如果找到就返回用戶服務(wù)信息。打開一個群信息顯示界面,該界面會提供一個“加入此群”按鈕,點擊后可將此人加為好友。如果未找到,則彈出一個信息提示框。9)文件共享在啟動文件傳輸服務(wù)器的共享文件功能之前,要設(shè)置它的 IP 號和端口,如果設(shè)置不好。好友將無法下看到這些共享的文件。還有一個重要的步驟就是添加共享文件或目錄。最后啟動文件共享。10)下載文件使用文件傳輸?shù)目蛻舳艘_配置好服務(wù)器的 IP 和端口號,以及下載好的文件的存放目錄。如果其中之一配置不好,文件下載將會失敗。設(shè)置好以后,點擊“連接”按鈕,如果配置正確,這時將會看到服務(wù)器共享的文件。目前不能支持文件夾下載,當看到一個文件夾以后,可以雙擊該文件夾并查看文件夾里面的文件。2.2.2 性能分析本系統(tǒng)由于采用免費的 oracle 數(shù)據(jù)庫軟件,連接數(shù)最多不能超過200,所以并發(fā)訪問數(shù)據(jù)庫的人數(shù)不能超過 200 人。412.2.3 用例圖圖 2-1 系統(tǒng)用例圖2.2.4 時序圖客戶登陸、注冊時的服務(wù)器端時序圖42圖 2-2 注冊、登陸時的服務(wù)端的時序圖本圖說明:服務(wù)器接每次與一個客戶連接以后,就會去創(chuàng)建一個監(jiān)聽線程。通過線程來接收客戶端發(fā)送的所有數(shù)據(jù)。如果要查詢數(shù)據(jù)庫,監(jiān)聽線程會請求獲得一個數(shù)據(jù)庫連接.如果數(shù)據(jù)庫連接已經(jīng)獲得,就把連接交給 DBOperation 對象,通過此對象可以返回給監(jiān)聽線程必要的結(jié)果。最后監(jiān)聽線程會通
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026上海師范大學第四附屬中學招聘1人備考題庫附參考答案詳解(達標題)
- 2026廣東東莞市橫瀝鎮(zhèn)中心幼兒園教職工招聘2人備考題庫帶答案詳解(模擬題)
- 水資源可持續(xù)利用方案
- 2026中共濟南市委黨校(濟南行政學院)引進博士研究生10人備考題庫含答案詳解(黃金題型)
- 2026四川德陽城市軌道交通職業(yè)學院春季學期招聘140人備考題庫帶答案詳解(典型題)
- 2026四川成都經(jīng)開建工集團有限公司招聘項目制工作人員6人備考題庫及一套參考答案詳解
- 2026四川雅安城投供應(yīng)鏈有限公司招聘2人備考題庫附答案詳解(黃金題型)
- 2026天津華北地質(zhì)勘查局及所屬事業(yè)單位招聘13人備考題庫帶答案詳解(培優(yōu)b卷)
- 2026廣東廣州白云區(qū)石門街中心幼兒園招聘4人備考題庫及完整答案詳解
- 水路交通設(shè)施建設(shè)方案
- 科技招商合同協(xié)議書范本
- 國家電網(wǎng)有限公司輸變電工程通 用設(shè)計(330~750kV輸電線路絕緣子金具串通 用設(shè)計分冊)2024版
- 欠債抵房屋協(xié)議合同
- TSG R0004-2025固定式壓力容器安全技術(shù)監(jiān)察規(guī)程
- 大學勞動教育(第二版)課件 第二章 勞動價值觀與勞動素養(yǎng)
- DBJ50T-240-2016 蒸壓加氣混凝土精確砌塊自承重墻體工程應(yīng)用技術(shù)規(guī)程
- 重難點08滑塊-滑板模型專題高一物理題組法突破重難點(原卷版)
- 2024鐵路營業(yè)線作業(yè)人員北斗安全預(yù)警防護系統(tǒng)技術(shù)條件
- 《東北解放區(qū)工業(yè)戲劇研究(1945-1949年)》
- 新版中國食物成分表
- 外研版七年級英語上冊電子版課文-七上外研版英語電子書
評論
0/150
提交評論