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

正文內(nèi)容

java基于tcp_ip協(xié)議的聊天工具的設(shè)計(jì)與開發(fā)_畢業(yè)設(shè)計(jì)論文-閱讀頁

2024-09-16 17:54本頁面
  

【正文】 更高 ? 網(wǎng)絡(luò):局域網(wǎng) 軟件環(huán)境 操作系統(tǒng): Windows XP 或者其它可用操作系統(tǒng) ? 開發(fā)平臺(tái): Eclipse+AWT 組件庫 ? 開發(fā)語言: Java ? 數(shù)據(jù)庫: SQL Server 2020 Eclipse Eclipse 是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái) 。 Eclipse 還 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具( Java Development Tools, JDT)。自從Java 推出以來, JDK 已經(jīng)成為使用最廣泛的 Java SDK。 SQL Server 2020 和 JDBC JDBC 是一種用于執(zhí)行 SQL 語句的 Java API 應(yīng)用程序接口,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一的訪問接口。本次畢業(yè)應(yīng)用了 JDBC 訪問 SQL Server 2020 數(shù)據(jù)庫,以完成必要的功能和要求。 本次畢業(yè)設(shè)計(jì)中用 Java 提供的這個(gè)工具包對(duì)服務(wù)器和客戶端進(jìn)行 GUI 開發(fā)。所以,只要有一臺(tái)能運(yùn)行 Java軟件的電腦即可,而不用考慮到經(jīng)濟(jì)問題。使用 Java 作為系統(tǒng)開發(fā)的語言 ,它提供完善的控制語句、類與對(duì)象的支持及豐富的數(shù)據(jù)類型 ,給開發(fā)高性能系統(tǒng)提供了保障。因此 ,本系統(tǒng)在運(yùn)行上是完全可行的。因此可以得出結(jié)論 ,本系統(tǒng)的開發(fā)是可行的。聊天軟件無非就是要實(shí)現(xiàn)聊天的功能,那么其最根本的需求就是實(shí)現(xiàn)一個(gè)聊天的功能。具體的功能我用 Visio 圖演示出來,如圖 31, 14 局 域 網(wǎng) 多 人 同 時(shí)在 線 聊 天 系 統(tǒng)服 務(wù) 器 客 戶 端開 啟服 務(wù)器( 關(guān)閉 服務(wù)器 )改 變聊 文字 風(fēng)格 ,發(fā) 送聊 天自 帶文 字性 語氣保 存用 戶聊 天信 息到 數(shù)據(jù) 庫聊 天室 群聊 或者 私聊注 冊(cè)登 陸踢 出非 法聊 天用 戶監(jiān) 視客 戶端 聊天 信息監(jiān) 聽客 戶端 登陸 請(qǐng)求保 存服 務(wù)器 日志 到本 地t x t 文件 下用 戶上 下線 提示 ,在 線用 戶列表 ,在 線用 戶數(shù)發(fā) 送系 統(tǒng)消 息 圖 31 局域網(wǎng)聊天系統(tǒng)功能示意圖 系統(tǒng)實(shí)現(xiàn)原理 聊天系統(tǒng)的設(shè)計(jì)跟一般網(wǎng)站的設(shè)計(jì)有著許多不同的地方,一般來說,網(wǎng)站設(shè)計(jì)所考慮的因素包括大量的界面美化以及動(dòng)態(tài)效果等,而聊天室只要能提供實(shí)現(xiàn)用戶之間即時(shí)性的 聊天通信即可,但也要做一定美化效果,不然,當(dāng)用戶一看著聊天軟件就沒了聊天的心情,那就太糟糕了。因此,程序要在 TCP/IP 環(huán)境下,實(shí)現(xiàn)服務(wù)器端和客戶端兩部分程序。當(dāng)服務(wù)器接收到客戶端的登陸請(qǐng)求并驗(yàn)證用戶名密碼通過后,用戶成功進(jìn)入聊天室,服務(wù)器又處于擁塞狀態(tài),也就是進(jìn)入了對(duì)客戶端(發(fā)送信息,離線 )的監(jiān)聽狀態(tài)。然后,服務(wù)器就開始工作了,服務(wù)器會(huì)一直處于擁塞狀態(tài),直到接收到 Socket 連接請(qǐng)求。 客戶端結(jié)構(gòu) 客戶端分為登陸 (Login),注冊(cè) (Register)和聊天主界面 (ChatRoom)三大模塊,登陸主要是客戶端向服務(wù)器發(fā)出登陸用戶名和密碼,請(qǐng)求到服務(wù)器的連接。聊天主界面就是我們的聊天室了,這 里實(shí)現(xiàn)了局域網(wǎng)聊天的功能,包括點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多、多對(duì)多的聊天形式。除了登陸,你還可以進(jìn)行注冊(cè),點(diǎn)擊注冊(cè)按鈕就會(huì)響應(yīng)出 Register 界面,在你填寫完整了注冊(cè)信息后,點(diǎn)擊確定,服務(wù)器會(huì)查詢數(shù)據(jù)庫做出判斷并返回結(jié)果,如果服務(wù)器返回了注 冊(cè)成功的信息,用戶便可以點(diǎn)擊返回進(jìn)行以上登陸操作?;诳芍赜玫木W(wǎng)絡(luò)通信底層,可以實(shí)現(xiàn)其他各種實(shí)時(shí)性較高的應(yīng)用系統(tǒng)。它通過接口層和最上面的應(yīng)用層保持即時(shí)性的 數(shù)據(jù)傳遞。 Socket底層設(shè)計(jì)分為兩大部分:協(xié)議設(shè)計(jì)和連接處理。用多線程的技術(shù)處理客戶端的連接請(qǐng)求,一旦有客戶端發(fā)起連接請(qǐng)求,服務(wù)器便進(jìn)入到與客戶端的連接線程中開始工作,直到完成所有操作。兩個(gè)線程之間分工明確一個(gè)負(fù)責(zé)監(jiān)聽請(qǐng)求,一個(gè)負(fù)責(zé)處理請(qǐng)求,多線程處理,分工明確。 功能設(shè)計(jì) 局域網(wǎng)聊天系統(tǒng)以局域網(wǎng)內(nèi)的用戶為實(shí)用對(duì)象,該聊天系統(tǒng)主要由服務(wù)器端和客戶端兩部分組成,其功能圖亦如圖 31 所示。 圖 36 用戶聊天信息表 用戶聊天信息表主要用來存儲(chǔ)用戶的聊天信息,包括聊天信息的 id 號(hào),聊天具體信息,聊天內(nèi)容的時(shí)間。其工作流程圖如下41 所示, 啟 動(dòng) 服 務(wù) 器 主 界 面啟 動(dòng) 服 務(wù) 器是 否 開 啟管 理 用 戶 信 息關(guān) 閉 服 務(wù) 器NY 圖 41 服務(wù)器工作流程 服務(wù)器主界面 服務(wù)器主要是實(shí)現(xiàn)服務(wù)器的啟動(dòng),然后就開始監(jiān)聽客戶端的連接請(qǐng)求,處理客戶端的各種應(yīng)用操作。如下圖 44所示, 圖 44 服務(wù)器啟動(dòng)后服務(wù)器管 理主界面 服務(wù)器的關(guān)閉 點(diǎn)擊以上圖例所示“關(guān)閉服務(wù)器”按鈕,服務(wù)器便可退出服務(wù)。 服務(wù)器管理用戶 現(xiàn)在,有一個(gè)用戶上線了,服務(wù)器刷新在線用戶列表和在線用戶數(shù),同時(shí)更新服務(wù)器日志,如下圖 45, 46 所示, 22 圖 45 有一個(gè)用戶上線了 (服務(wù)器管理界面 ) 圖 46 有一個(gè)用戶上線了 (用戶信息管理界面 ) 現(xiàn)在,又有一個(gè)用戶上線了,服務(wù)器刷新在線用戶列表和在下人數(shù), 同時(shí)更新 23 服務(wù)器日志,如下圖 47,48 所示, 圖 47 又一個(gè)用戶上線了 (服務(wù)器管理界面 ) 圖 48 又一個(gè)用戶上線了 (用戶信息管理界面 ) 服務(wù)器監(jiān)聽客戶端,記錄客戶端聊天信息,如下圖 49 所示, 24 圖 49 服務(wù)器用戶信息管理界面 服務(wù)器向所有用戶發(fā)送系統(tǒng)消息,如圖 410 組圖所示, 25 圖 410 服務(wù)器向所有用戶發(fā)送消息 服務(wù)器踢出非法聊天用戶,如下圖 411 組圖所示, 26 圖 411 服務(wù)器踢出非法聊天用戶 現(xiàn)在,有一個(gè)用戶下線了,服務(wù)器刷新在線用戶列表和在線人數(shù),同時(shí)更 新服務(wù)器日志,如下圖 412 所示, 27 圖 412 有一個(gè)用戶下線了 客戶端的設(shè)計(jì)與實(shí)現(xiàn) 客戶端工作流程圖 客戶端啟動(dòng)會(huì)首先進(jìn)入登陸 (Login)界面,登陸界面上不但有登陸按鈕,還有注冊(cè)按鈕。而如果點(diǎn)擊注冊(cè)按鈕的話,就會(huì)直接跳到注冊(cè)界面,其工作流程圖下圖 413所示, 登 陸 窗 口是 否 有 賬 號(hào) 注 冊(cè) 賬 號(hào)注 冊(cè) 信 息 判 斷 合 格注 冊(cè) 成 功登 陸 判 斷登 陸 成 功是 否 有 在 線 用 戶發(fā) 送 消 息退 出 系 統(tǒng)登 陸YNYNYNNY等 待YN 圖 413 客戶端工作流程圖 客戶端登陸主界面 登陸客戶端首先進(jìn)入的是登陸界面,如下圖 414所示, 28 圖 414 用戶登陸界面 客戶端注冊(cè)主界面 用戶點(diǎn)擊登陸主界面上的注冊(cè)按鈕,會(huì)自動(dòng)跳轉(zhuǎn)到注冊(cè)主界面,如圖 415 所示, 圖 415 注冊(cè)主界面 此時(shí)用戶可以進(jìn)行賬號(hào)注冊(cè),如下圖 416組圖所示 29 30 圖 416 用戶注冊(cè) 用戶注冊(cè)時(shí),首先經(jīng)過客戶端判定是否輸入為空,經(jīng)過客戶端的判斷后才會(huì)將注冊(cè)信息發(fā)往服務(wù)器,服務(wù)器判斷該用戶名是否已經(jīng)被注冊(cè),然后返回成功或者失敗的結(jié)果。 = ()。 = ()。//默認(rèn)選擇男,如果為真就選擇男,假就選擇女 = ()。 return。 return。 return。 return。 if(age=0||age150){ (null, 輸入年齡無效! )。 } //郵箱合法性驗(yàn)證 int flag = 0。i().length()。39。 } } if(flag!=1){ 32 (null, 電子郵箱格式不正確!請(qǐng)重新輸入! )。 } 服務(wù)器判斷: /** * 用戶注冊(cè)處理 */ private void userRegist() { // TODO Autogenerated method stub try { //用戶重名判斷 RegistUserInfo regist = (RegistUserInfo) obj。++39。 Statement st = ()。 boolean flag = false。 } if(flag==true){ (注冊(cè)名重復(fù),請(qǐng)重新輸入! )。 }else{ (+注冊(cè)成功! )。++39。++39。+regis+39。++39。++39。 (sql)。 } } catch (Exception e) { // TODO: handle exception } } 客戶端聊天主界面 用戶如果輸入了正 確的用戶名和密碼后,會(huì)自動(dòng)跳轉(zhuǎn)到聊天室,接下來就可以和局域網(wǎng)的其他用戶進(jìn)行實(shí)時(shí)的聊天了,如下圖 417 所示, 33 圖 417 客戶端聊天主界面 客戶端之間聊天 客戶端進(jìn)行實(shí)時(shí)的聊天,如下圖 418, 419, 420,421, 422 所示, 34 圖 418 用戶對(duì)指定用戶說話 35 圖 419 所有人能看見聊天內(nèi)容 36 圖 420 用戶對(duì)指定用戶說悄悄話 37 圖 421 其他用戶無法看見 圖 422 改變聊天內(nèi)容的字體風(fēng)格 用戶下線 有一個(gè)用戶退出了聊天室,所有用戶都能看 見該用戶下線的信息,并且刷新在線用戶列表和在線人數(shù),如下組圖 423 所示, 38 圖 423 用戶下線,向所有用戶廣播下線消息 在某些時(shí)候有可能服務(wù)器會(huì)停止服務(wù),這個(gè)時(shí)候,用戶就會(huì)在短時(shí)間內(nèi)得知服 39 務(wù)器停止了工作的消息,并彈出“無法連接到服務(wù)器”的對(duì)話框,客戶端這個(gè)時(shí)候就會(huì)停止工作,直到服務(wù)器重新開啟。實(shí)現(xiàn)的相應(yīng)功能主要有以下部分, 服務(wù)器端 服務(wù)器能夠監(jiān)聽客戶端的所有操作,并作出相應(yīng)的處理; 服務(wù)器端可以發(fā)送系統(tǒng)消息; 服務(wù)器可以管理用戶和用戶消息; 服務(wù)器可以踢出非法聊天的用戶; 服務(wù)器日志記錄了客戶端登陸、下線的所有信息; 服務(wù)器將用戶聊天信息記錄在數(shù)據(jù)庫中; 服務(wù)器正常關(guān)閉。 綜上所述,本次畢業(yè)設(shè)計(jì)基本上實(shí)現(xiàn)了局域網(wǎng)聊天室所需要的大部分功能,但是還有很多地方可以改進(jìn)或者添加新的功能,比如屏蔽非法聊天內(nèi)容、發(fā)送聊天圖標(biāo)表情等。所以,總體上來說,該系統(tǒng)還是比較成功的。在這次的畢業(yè)設(shè)計(jì)中,本人應(yīng)用了 Java 編程語言在 Eclipse 平臺(tái)上開發(fā)了一個(gè)基于 TCP/IP 的局域網(wǎng)即時(shí)通訊軟件,并對(duì) TCP 和 UDP 通信進(jìn)行了詳細(xì)的比較設(shè)計(jì),徹底明白了 TCP 與 UDP 通信的原理以及他們之間的區(qū)別。所以,我必定會(huì)認(rèn)真總結(jié)這次畢業(yè)設(shè)計(jì)的經(jīng)驗(yàn),以及學(xué)習(xí)到的知識(shí),來更加的充實(shí)自己的閱歷和完善自己的知識(shí)覆蓋面。根據(jù)實(shí)現(xiàn)的情況來 看,本次畢業(yè)設(shè)計(jì)最后完成的局域網(wǎng)通訊系統(tǒng)具有較為友好的聊天界面效果和服務(wù)器后臺(tái)監(jiān)聽效果,以及流暢的網(wǎng)絡(luò)通信效果。還可以以此為拓展,更深入的學(xué)習(xí)和研究 Socket 網(wǎng)絡(luò)通信以及其他的網(wǎng)絡(luò)通信模式。在這里,再次感謝我的畢業(yè)設(shè)計(jì) 老師以及給予我極大幫助的同學(xué)們,感謝他們的幫助和支持。因?yàn)椋诖髮W(xué)期間,學(xué)習(xí) Java 的時(shí)間其實(shí)很少,而且也不夠深入。同時(shí)發(fā)現(xiàn)自己在理論研究和實(shí)際工作能力等方面都得到了很大提高。 進(jìn)入社會(huì)后 ,我定會(huì)更加努力,在以后的生活中繼續(xù)提高自己,為自己創(chuàng)造更多的機(jī)會(huì),創(chuàng)造美好的明天 ! 42 參考文獻(xiàn) [1] Elliotte Rusty Harold 著,朱濤江、林劍譯 .《 Java 網(wǎng)絡(luò)編程(第三版)》 .中國電力出版社 . [2] 胡伏湘、雷軍環(huán) .《 Java 程序設(shè)計(jì)實(shí)用教程(第二版)》 .清華大學(xué)出版社 . [3] 王家林 .《 網(wǎng)絡(luò)編程詳解》 .電子工業(yè)出版社 . [4] 王珊、薩師煊 .《數(shù)據(jù)庫系統(tǒng)概論》 .高等教育出版社 . [5] 王意潔 .《面向?qū)ο蟮臄?shù)據(jù)庫技術(shù)》 .電子工業(yè)出版社 . [6] 岳昆 .《數(shù)據(jù)庫技術(shù) : 設(shè)計(jì)與應(yīng)用實(shí)例》 . 清華大學(xué)出版社 . 2020 [7] 余金山、林慧 .《 SQL Server 2020/2020 數(shù)據(jù)庫開發(fā)實(shí)例入門與提高》 .北京: 電子工 業(yè)出版社 .2020 [8] 結(jié)城浩 著,博碩文化 譯 .《 Java 多線程設(shè)計(jì)模式》 .中國鐵道出版社 . [9] 李建成、郝筱松 .《 Java 語
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1