freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

cs架構的即時聊天系統(tǒng)的設計與實現(xiàn)-資料下載頁

2025-03-04 06:02本頁面

【導讀】網絡即時聊天系統(tǒng)正是這樣一個被廣泛應用的媒介。借助它,人們可以方便地進行實時對話,本文以一個“即時通訊系統(tǒng)”的設計和開發(fā)為背景,詳細介紹了以Java語言和MySql數(shù)。據(jù)庫為平臺開發(fā)軟件系統(tǒng)的過程。用到了Java里面的Swing、多線程、JDBC、Socket等高級編程技術。通過直接使用Java提供的。ServerSocket和ObjectInputStream等類將客戶端和服務器端發(fā)送的各類消息封裝成統(tǒng)一的數(shù)據(jù)流以。實現(xiàn)消息的交換。文件傳送等功能。

  

【正文】 ()。 } } }else{ (null, 還未選擇文件! )。 ()。 (0)。 } ()。 } ?接收端: TestReciever t=new TestReciever()。 String readSignal=。 try { ServerSocket ss = new ServerSocket(8888)。 s=()。 dis = new DataInputStream(())。 dos=new DataOutputStream(())。 readSignal=()。 (a client connected!)。 (readSignal:+readSignal)。 if((transfer file)){ if((null, 是否接收文件+(16)+? , 提示 :, )==){ (不接收 )。} else{ (接收 )。 (new File((16)))。//設置默認的保存文本科畢業(yè)設計 35 件名 if ((null) ==amp。amp。().getName()!=null) { (().getName()+文件保存 )。 File ff=new File(().getAbsolutePath())。 ()。 ( ().getAbsolutePath())。 (please transfer)。 int a=0。 FileOutputStream fop=new FileOutputStream(ff)。 while((a=())!=1){ (a=+a)。 (a)。 } ()。 ()。 ()。 ()。 } 后臺管理模塊功能實現(xiàn) [后臺管理 ]模塊分析 作為用戶我們只是使用了 的客戶端功能,即我們電腦上安裝的 軟件。其實為了保證 的正常運行,騰訊在各地都有自己的代理服務器,以提供足夠的帶寬和計算能力。在 的身后,自然會有強大的后臺支撐,這保證了我們用戶能夠享受到騰訊 高質量的服務。本系統(tǒng)模擬了一個簡單地后臺管理的功能,提供了服務管理、用戶管理、消息管理三大功能。 (1) 服務管理 在服務管理里面,管理員可以啟動和關閉服務器 ,實際上就是啟動服務器端一些線程,開始監(jiān)聽來自客戶端登錄的請求,并隨時做出相應的處理。同時查詢數(shù)據(jù)庫,返回用戶信息。在這里管理員還可以發(fā)送彈窗消息給所有在線用戶,可以發(fā)布群公告。 這個界面使用了 tabbedPane 對象和 GroupLayout 布局管理器,在一個 GroupLayout本科畢業(yè)設計 36 里放置了 3 個 tabledPane 對象以供切換。日期、時間的顯示是 通過 Calendar 對象獲取系統(tǒng)當前日期時間 來實現(xiàn)的 。 此外, 服務器運行時間是用 Timer 計時器來實現(xiàn)的。 具體功能實現(xiàn)如圖 41 413 所示 。 圖 412 服 務管理界面 圖 413 系統(tǒng)公告界面 (2)用戶管理 本科畢業(yè)設計 37 用戶管理就是對系統(tǒng)注冊用戶信息的管理,可以查找、刪除、修改相關內容,實質上就是通過 JDBC 對數(shù)據(jù)庫的操作。這個面板中使用了 JTable 對象以實現(xiàn)對數(shù)據(jù)庫表的加載顯示。 功能實現(xiàn)如圖 414 所示。 圖 414 用戶管理界面 本科畢業(yè)設計 38 (3)離線消息管理 在本系統(tǒng)中如果向對方發(fā)送消息是好友離線,則消息將會自動保存在服務器的數(shù)據(jù)庫上,待好友上線時再推送過去。離線消息管理就是實現(xiàn)的這樣一個功能。例如 3 號用戶 “mj”給沒有上線的 1 號用戶 “niaopeng”發(fā) 送消息后,消息內容會存儲到數(shù)據(jù)庫中的 msg表中。每當用戶上線時,程序單獨啟動一條線程 MsgManageThread 根據(jù)消息對象 Msg的 SendFrom 和 SendTo 屬性去檢測該用戶有沒有離線消息。若有,則執(zhí)行 receiveMsg操作接收離線消息。界面依然是由 tabbedPane對象和 GroupLayout布局管理器 以及 JTable等控件構成。 具體實現(xiàn)如圖 415 所示。 圖 415 離線消息管理界面 本科畢業(yè)設計 39 第五章 總結 本次畢業(yè)設計的即時聊天系統(tǒng),主要是以學習研究為目的,所有實現(xiàn)的功能都是最基本的。盡管這樣 ,我還是做了很多準備工作,搜集了相關論文,參閱了相關書籍。由于系統(tǒng)界面設計較為繁雜,不像之前用 Visual Studio 可以拖控件,界面很快搞定,所以初期花費了不少時間去了解 Java 界面開發(fā)相關知識。這種搜集和學習相關知識的方法和經歷對自己以后做課題研究有很大的啟發(fā)意義。 在進行系統(tǒng)的分析與設計中我熟悉了從現(xiàn)狀描述到系統(tǒng)建模以及系統(tǒng)實現(xiàn)的整個過程,這將自己以前在課堂上所學的基礎知識及課外所學的知識串連起來,綜合應用到一個真實的系統(tǒng)中去。編制系統(tǒng)開發(fā)計劃使自己對分析設計的所有工作和進度有了清楚的了解。我深刻地 認識到系統(tǒng)的可行性分析十分重要,這將決定系統(tǒng)的開發(fā)價值。如何實現(xiàn)服務器和客戶端的通訊是本系統(tǒng)分析的重頭,通過參考李剛和孫衛(wèi)琴兩位業(yè)界知名Java 講師的著作,我理解了如何用 Java 實現(xiàn)網絡通信。然后將其轉化為數(shù)據(jù)流程圖,使自己理清了系統(tǒng)的工作思路,對于系統(tǒng)的流程有了清楚的把握。數(shù)據(jù)庫的設計使自己學會了如何分析用戶的需求,設計出合理規(guī)范的數(shù)據(jù)庫。數(shù)據(jù)庫設計是系統(tǒng)實施 的一個基礎, 是整個系統(tǒng)后臺的支撐。系統(tǒng)開發(fā)過程中我 學習了 使用 MySQL 進行數(shù)據(jù) 庫 建表的相關知識,受益很多。 本系統(tǒng)采用免費開源的 Eclipse 開發(fā), 由于時間有限,只開發(fā)了登錄、注冊、文字聊天、文件傳送、后臺管理五個模塊,通過動手編程使自己又重新回顧了 Java 語言 的相關知識,熟悉了操作平臺。在 本系統(tǒng)開發(fā)的開發(fā)過程中我遇到了一些棘手問題,每遇到一個問題,我都想辦法去解決,在這個過程中我充分利用了網絡資源。有時在 IT 技術論壇 CSDN 論壇上發(fā)帖求助,也因此了解了一些論壇牛 人 ,學到了不少知識。 經過我的鉆研, 有的問題已經解決 但 還有一些期待實現(xiàn)。 成功解決的問題: 服務器端如何處理客戶端的不同請求??蛻舳擞袝r是請求登錄驗證,有時是請本科畢業(yè)設計 40 求返回好友列表,有時是請求發(fā)送 文字消息給對方。開始的時候不知道怎么去做,然后查詢了相關資料,參照別人的做法,設計了一個 Message 類,這個類不僅僅是字面意思消息,它是服務器客戶端通信的實體,不管是聊天消息還是登錄請求,任何服務器客戶端的通信都封裝成 Message 發(fā)送,接收方收到后根據(jù) Message 對象的屬性自行判斷是何種消息,然后做相應處理。 離線消息推送。給不在線的人也應該能發(fā)送消息,但是對方如何接收到呢?這個問題我是這樣解決的。凡是給不在線好友發(fā)送消息,統(tǒng)一寫入數(shù)據(jù)庫。每次客戶端用戶登錄,首先執(zhí)行一條線程,這條線程用來檢測數(shù)據(jù) 庫 msg 表是否存在內容,有的話就按照發(fā)送方接收方推送給指定用戶,然后刪除數(shù)據(jù)庫的離線消息。這個方法雖然笨了點,有冗余的操作,但是功能實現(xiàn)了。 文件傳送。如何將不同格式的文件發(fā)送給對方也讓我一籌莫展。后來查閱書籍學習 Java 數(shù)據(jù)流的相關知識后恍然大悟。所有的文件不都可以轉化為二進制的字節(jié)流嗎,這樣就可以實現(xiàn)底層的數(shù)據(jù)傳輸了。發(fā)送方將消息寫入數(shù)據(jù)流,接收方再從數(shù)據(jù)流中讀取還原出對象即可。 期待解決的問題: 完成用戶隱身登錄不影響消息接收及記住密碼自動登錄的功能。 保存任何用戶的聊天記錄,并以加密的形 式存儲在數(shù)據(jù)庫中。 完成好友搜索,添加好友、好友訪問權限設置相關功能。 完成對用戶的管理,如踢用戶下線,給指定用戶發(fā)送系統(tǒng)通知等。 當然功能越想越多,有的是技術問題,有的是時間問題,總而言之期待以后完善。 本科 畢業(yè)設計是對自己四年所學的一 次綜合性檢驗,雖然在做畢業(yè)設計的過程中遇到很多困難,但通過上網和查書解決了很多從未遇到過的問題,感覺很有成就感。這次的畢業(yè)設計確實讓我學到了很多知識。最大的感概就是系統(tǒng)開發(fā)之前的設計是尤為重要的,這決定了系統(tǒng)開發(fā)的工程量、效率。設計能力才是檢驗一個軟件工程師水平的指 標。站在軟件開發(fā)技術金字塔頂端的往往是那些資深的系統(tǒng)架構師,這應當成為我的奮斗目本科畢業(yè)設計 41 標!大學里學的課程如數(shù)據(jù)結構與算法、計算機組成原理、操作系統(tǒng)等課程正是為我們走向“金字塔”鋪路的,只有基本功扎實才能在 IT 技術領域游刃有余。 本科畢業(yè)設計 42 致謝 衷心感謝馬福民老師在本次畢業(yè)設計的系統(tǒng)開發(fā)和畢業(yè)論文撰寫過程中對我的指導和幫助。從最初的選題,到系統(tǒng)的設計和功能的實現(xiàn),馬老師一直細心地對我進行專業(yè)地指導。尤其是在我一邊忙著考研一邊做畢業(yè)設計的過程中,更是給予我莫大的鼓舞和幫助,最后使得我 的畢業(yè)設計能夠順利的完成。 本科畢業(yè)設計 43 參考文獻 [1]李剛,瘋狂 Java 講義 [M].北京:電子工業(yè)出版社, 202110. [2](美 )Joshua (著 ), Effective Java[M].北京:機械工業(yè)出版社, 202101. [3]閻宏, Java 與模式 [M].北京:電子工業(yè)出版社, 202110. [4]王珊,數(shù)據(jù)庫系統(tǒng)概論 (第四版 )[M].北京:高等教育出版社, 202106. [5](美 )Abraham Silberschatz Henry , (著 ), Database System Conoepts[M].北京:機械工業(yè)出版社, 202104. [6] 杜佳榮 ,馬建紅 ,滕振宇 , Java 網絡編程技術與實踐 [M].北京:清華大學出版社 ,202106. [7] 崔洋,賀亞茹 (著 ), MySQL 數(shù)據(jù)庫應用從入門到精通 [M].北京: 中國鐵道出版社 , 202101. [8]孫衛(wèi)琴, Java 面向對象編程 [M].北京:電子工業(yè)出版社 202107. [9]孫衛(wèi)琴, Java 網絡編程精解 [M].北京:電子工業(yè)出版社 ,202103. [10](美) GavinPowell(著),沈潔,王洪波,趙恒(譯),數(shù)據(jù)庫設計入門經典 [M].北京:清華大學出版 ,202103. [11](美) Roger (著) , 鄭人杰,馬素霞 等(譯),軟件工程:實踐者的研究方法 [M].機械工業(yè)出版社, 202108. [12]錢樂秋、趙文耘、朱軍鈺 .軟件工程 [M].北京:清華大學出版社, 2021. [13]陳剛 . Eclipse 從入門到精通 [M].北京:清華大學出版社, 2021. [14]胡荷芬、張帆、高斐 .UML系統(tǒng)建?;A教 程 [M]. 北京:清華大學出版社, 2021. [15]熊小敏,劉瑛,陳惠清 . 基于 Java的網絡即時通訊系統(tǒng)的設計與實現(xiàn) [J].計算機與現(xiàn)代化, 2021,12, 028. [16]宮學生,馬洪連,丁男,移動通信軟件框架的設計與實現(xiàn) [J].計算機系統(tǒng)應用, 2021,05,004. 本科畢業(yè)設計 44 附錄 系統(tǒng)使用配置說明 本系統(tǒng)使用 Eclipse 開發(fā),由于系統(tǒng)包含客戶端程序和服務器端程序兩部分,因此不能夠一起打包安裝運行。需要分別打包,分別在機器上安裝配置。實際上本系統(tǒng)并未設計得很周全,程序中的服務器端 Socket 連接的 IP 地址是寫死的。因此最好是直接導入 Eclipse 中運行,演示效果最佳。 導入步驟:打開 Eclipse選擇文件 導入 常規(guī) 現(xiàn)有項目到工作空間中,在文件選擇目錄中找到項目文件夾 Mybs 導入即可。然后右擊項目中的 src 文件夾下的 Server 包中的 ,選擇運行方式 java 應用程序。再右擊 Client 包下的,選擇運行方式 java 應用程序即可。 系統(tǒng)源程序清單及說明 包:編寫客戶端的一些通用組件 包:編寫客戶端的一些控制流程,如注冊、登錄、聊天等等 包:編寫客戶端的界面 包:存放系統(tǒng)用到的圖片 包:存放客戶端網絡通信相關的程序 包:存放一些工具的包,如本系統(tǒng)中的界面居中、界面風格設置等功能。 包:存放網絡通信相關的程序 包:編制服務器端的一些常用功能,如 JDBC 包:封裝對服務器端數(shù)據(jù)庫的數(shù)據(jù)訪問功能 包:封裝 服務器端的一些實體,如消息 msg、用戶 user 包:編寫客戶端的界面
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1