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

正文內(nèi)容

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

2025-10-12 17:54上一頁面

下一頁面
  

【正文】 UDP( User Data Protocol, 用戶數(shù)據(jù)報(bào)協(xié)議 )是與 TCP 相對(duì)應(yīng)的協(xié)議。比如你給別人打電話,必 須等線路接通了 而且 對(duì)方拿起話筒才能相互通話。在本課題中引入多線程技術(shù)無疑顯得是非常必要的,那么通信過程中的許多功能就可以用多個(gè)線程來實(shí)現(xiàn),從而做到分工明確,改善程序的執(zhí)行效率。 8 TCP/IP(傳輸控制協(xié)議 /網(wǎng)間協(xié)議 )是 Inter 的主要協(xié)議 ,定義了計(jì)算機(jī)和外設(shè)進(jìn)行通信所使用的規(guī)則 (應(yīng)用層 ,傳輸層 ,網(wǎng)絡(luò)層 ,鏈路層 ), 大多數(shù)基于 Inter 的應(yīng)用程序被看作 TCP/IP 協(xié)議的上一層 . 如 : ftp, , smtp,tel 等 。 平臺(tái)獨(dú)立 平臺(tái)獨(dú)立指程序不受操作平臺(tái)的限制,可以應(yīng)用在各種平臺(tái)上。 簡(jiǎn)單性 Java 語言簡(jiǎn)單高效,基本 Java 系統(tǒng)(編譯器和解釋器)所占空間很少。這造成程序員編程的極大負(fù)擔(dān),并可能產(chǎn)生多個(gè) Bugs。目前來說,通信工具是非常的成熟了,本次畢業(yè)設(shè)計(jì)做的這個(gè)關(guān)于 TCP/UDP 通信的局域網(wǎng)聊天系統(tǒng)也不可 能實(shí)現(xiàn)相應(yīng)的經(jīng)濟(jì)價(jià)值,旨在本人在大學(xué)的最后階段有一個(gè)更好的收獲,能夠?qū)W到到很多以前沒學(xué)過的新東西,吸取到更多的知識(shí)充實(shí)自己對(duì)于計(jì)算機(jī)這門學(xué)科認(rèn)識(shí)和研究。目前來說,開發(fā)技術(shù)是非常成熟的了,比如騰訊 ,微軟 MSN,新浪 UC 等,這些通訊工具都實(shí)現(xiàn)了廣域網(wǎng)的即時(shí)通訊,但他們卻也各具特色。大概了解到了 是以多個(gè)服務(wù)器提供服務(wù),服務(wù)器管理客戶端,客戶端之間 UDP 通信,除非不得已的情況下,服務(wù)器才通過 TCP 轉(zhuǎn)發(fā)消息。利用 Java 中的多線程技術(shù)來實(shí)現(xiàn)分工明確的操作。網(wǎng)絡(luò)通信無疑給當(dāng)今的人們帶來了極大的便利。本系統(tǒng)采用 C/S 模式,即客戶端 /服務(wù)器模式,客戶端與服務(wù)器通過 Socket 傳遞數(shù)據(jù),服務(wù)器采用多線程技術(shù)。當(dāng)今社會(huì),互聯(lián)網(wǎng)幾乎覆蓋了所有行業(yè),由此可見,其在我們的日常生活中所占的地位是顯而易見的。除此之外,還有諸如微軟的 MSN、網(wǎng)易的 POPO,新浪 UC 等等。s MSN POPO, ease, sina UC, and so on. The content of this graduation design is a LAN instant munication software based on Java. Java is a crossplatform programming language, it has good work function and the full support from database there is no doubt that can realize all the content of this design. This system adopts C/S mode, the client/server mode, client and server transfer data through a Socket to the server using multithreading technology. Using Eclipse for development. After pletion of the software of the main functions are: point to point and point to chat more, manytomany, unified management was carried out on the chat server, such as user registration, user login, kicked out users, etc. Keywords: Java, Socket, multithreading, TCP/UDP, C/S 1 前 言 當(dāng)今人們每天依賴著的網(wǎng)絡(luò),主要是給廣大用戶提供了即時(shí)性的信息。本課題內(nèi)容主要是應(yīng)用數(shù)據(jù)庫來存儲(chǔ)用戶信息以及用戶聊天記錄,所以相對(duì)于其他大型的應(yīng)用,操作起來比較簡(jiǎn)單。據(jù) 2020 年 5 月 13 日騰訊官方公布顯示,目前注冊(cè)用戶中的活躍用戶達(dá)到了 億的水平,最高同 時(shí)在線人數(shù)高達(dá) 億,這無疑是一個(gè)驚人的數(shù)據(jù)。 基于 Socket 的局域網(wǎng)通信軟件在目前來說是相當(dāng)廣泛的,不但滿足了傳統(tǒng)的通信需求,還可以擴(kuò)展其應(yīng)用范圍,以適應(yīng)更多更大范圍的需求。 課題內(nèi)容、目的及目標(biāo) 課題內(nèi)容 本課題主要是用 Java 下的 Socket 研究局域網(wǎng)通信,并利用 Socket 編寫一個(gè)可以供多人通 信的局域網(wǎng)聊天軟件,此聊天軟件分為服務(wù)器程序和客戶端程序兩個(gè)獨(dú)立的工程項(xiàng)目。起初他用具有面向?qū)ο筇卣鞯?C++語言編寫嵌入式軟件,可以放在面包機(jī)或 PDA( Personal Digital Assistant,個(gè)人數(shù)字 助理 )等小型電子 產(chǎn)品 里,以使設(shè)備變得更為 “聰明 ”,更具備人工只能。 Java 技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于個(gè)人PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開發(fā)者專業(yè)社群。 安全性 Java 是可以用在網(wǎng)絡(luò)及分布環(huán)境下的網(wǎng)絡(luò)程序設(shè)計(jì)語言。 執(zhí)行效率 Java 的字節(jié)碼需要經(jīng)過 Java 虛擬機(jī) JVM 解釋成機(jī)器碼才能執(zhí)行,所以速度上較慢。 Datagram 是更低級(jí)的網(wǎng)絡(luò)傳輸方式,它把數(shù)據(jù)目的地記錄在包中,并把數(shù)據(jù)分成若干塊記錄在固定大小的數(shù)據(jù)包中,然后直接放在網(wǎng)絡(luò)上傳遞到目的端,至于你到底傳送成功與否,這就沒它的事了。一般來說, TCP 對(duì)應(yīng)的是可靠性要求高的應(yīng)用,而 UDP 對(duì)應(yīng)的則是可靠性要求低、傳輸經(jīng)濟(jì)的應(yīng)用。 以下是三次 “ 握手 ” 的概念圖 21: 主 機(jī) A 主 機(jī) B第 一 次 握 手 , 主 機(jī) A 向主 機(jī) B 發(fā) 出 連 接 請(qǐng) 求第 二 次 握 手 , 主 機(jī) B 接 受 到 主機(jī) A 的 連 接 請(qǐng) 求 , 向 主 機(jī) A 回發(fā) 一 個(gè) 確 認(rèn) 信 息 , 同 時(shí) 向 主機(jī) A 發(fā) 送 一 個(gè) 連 接 請(qǐng) 求第 三 次 握 手 , 主 機(jī) A 收 到 主 機(jī) B 的數(shù) 據(jù) 包 , 然 后 向 主 機(jī) B 發(fā) 送 一 個(gè)確 認(rèn) 連 接 圖 21 三次“握手”協(xié)議概念圖 TCP 協(xié)議能為 應(yīng)用程序 提供可靠的通信連接,使一臺(tái)計(jì)算機(jī)發(fā)出的 字節(jié)流無差錯(cuò)地發(fā)往網(wǎng)絡(luò)上的其他計(jì)算機(jī),對(duì)可靠性要求高的 數(shù)據(jù)通信系統(tǒng) 往往使用 10 TCP 協(xié)議傳輸數(shù)據(jù) 。正因?yàn)?UDP 協(xié)議沒有連接的過程,所以它的通信效率高 。 11 在 C/S 模式中 , 作為客戶機(jī)的計(jì)算機(jī)都要安裝客戶機(jī)程序 , 一旦軟件系統(tǒng)升級(jí) , 每臺(tái)客戶機(jī)都要安裝客戶機(jī)程序 , 系統(tǒng)升級(jí)和維護(hù)較為復(fù)雜 。本次畢業(yè)設(shè)計(jì)所要用到的組件包括 Eclipse 平臺(tái), JDK 解釋器, AWT 組件庫, SQL Server 2020 等。 JDBC 由一組用 Java 語言編寫的類和接口組成,通過調(diào)用這些類和接口所提供的方法,用戶能夠以一致的方式連接多種不同的數(shù)據(jù)庫,從而可使用標(biāo)準(zhǔn)的 SQL 語言來存取數(shù)據(jù)庫中的數(shù)據(jù),不必再為每一種數(shù)據(jù)庫系統(tǒng)編寫不同的 Java 代碼。 運(yùn)行可行性 :本系統(tǒng)為一個(gè)小型的局域網(wǎng)聊天系統(tǒng) ,所耗費(fèi)的資源比較少,只要安裝了運(yùn)行該程序所必要的軟件后,就目前的電腦,都是能夠運(yùn)行的。綜合以上因素,我對(duì)本次畢業(yè)設(shè)計(jì)所要做的的工作做了以下的總結(jié): 在 Inter 上的聊天程序一般都是以服務(wù)器提供服務(wù)端連接響應(yīng),使用者通過客戶端程序登錄到服務(wù)器,就可以與登錄在同一服務(wù)器上的用戶交談,這是一個(gè)面向連接的通信過程。注冊(cè)是對(duì)用戶開放注冊(cè)功能,從而能讓注冊(cè)過的用戶進(jìn)入聊天室。用戶登陸聊天時(shí),將實(shí)現(xiàn)統(tǒng)一的用戶登陸驗(yàn)證機(jī)制。 數(shù)據(jù)庫設(shè)計(jì) 由于本局域網(wǎng)聊天系統(tǒng)主要是以 提供聊天服務(wù)為主要目標(biāo),所以所設(shè)計(jì)的數(shù)據(jù)庫表只有簡(jiǎn)單的兩張,一張用來存儲(chǔ)用戶信息,一張用來存儲(chǔ)用戶的聊天信息,如下圖 35,36 所示, 圖 35 用戶信息表 用戶信息表主要包括了用戶名、密碼、年齡、性別、郵箱 5 個(gè)數(shù)據(jù),分別用來存儲(chǔ)用戶的用戶名、密碼、年齡、性別、郵箱。如果輸入正確的用戶名和密碼,就會(huì)登錄到聊天室 ChatRoom 主界面。 /** * 對(duì)得到的注冊(cè)用戶信息進(jìn)行驗(yàn)證 */ //用戶名有無驗(yàn)證 if(()==0){ (null, 用戶名不能為空! )。 } /** * 輸入內(nèi)容合法性驗(yàn)證 */ //年齡合法性驗(yàn)證 int age = (())。){ flag++。 ResultSet rs = (sql)。,39。)。 40 第五章 結(jié)論 本次畢業(yè)設(shè)計(jì)主要應(yīng)用了 Java 下的 Socket 編程實(shí)現(xiàn)了一個(gè)局域網(wǎng)的通信軟件,基本滿足了系統(tǒng)結(jié)構(gòu)化、界面友好、速度快、占用資源少、穩(wěn)定等特點(diǎn)。生成的聊天室可以達(dá)到基本的局域網(wǎng)聊天要求,具有較高的學(xué)習(xí)價(jià)值和深入的研究?jī)r(jià)值。在整個(gè)設(shè)計(jì)過程中,在老師的指導(dǎo)和許多同學(xué)的共同幫助下,及時(shí)總結(jié)成果,這些無疑會(huì)對(duì)我今后的工作和學(xué)習(xí)帶來很大的幫助。 41 致 謝 近兩個(gè)月的的忙碌,本次畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲,作為一個(gè)本科生的畢業(yè)設(shè)計(jì),由于經(jīng)驗(yàn)的缺乏,難免有許多考慮不周的地方,如果沒有指導(dǎo)老師的督促指導(dǎo),以及其他同學(xué)的支持,想要完成這個(gè)設(shè)計(jì)是非常困難的。 在當(dāng)今網(wǎng)絡(luò)遍布的世界,一個(gè)簡(jiǎn)單高效的局域網(wǎng)通信工具是非常有實(shí)用價(jià)值和研究?jī)r(jià)值的。//執(zhí)行數(shù)據(jù)庫語句 return。,39。 while(()){ flag = true。 return。 return。 } //密碼有無驗(yàn)證 if(()==0){ (null, 密碼不能為空! )。部分代碼如下, 客戶端判斷: //用戶注冊(cè) SuppressWarnings(deprecation) private void registNewUser() { // TODO Autogenerated method stub //從輸入框接收用戶注冊(cè)詳細(xì)信息并賦給封裝的注冊(cè)用戶信息類對(duì)象 RegistUserInfo registUserInfo = new RegistUserInfo()。 19 第四章 系統(tǒng)的實(shí)現(xiàn) 服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn) 服務(wù)器工作流程圖 服務(wù)器的主要工作室配置服 務(wù)器并且啟動(dòng)服務(wù)器,服務(wù)器啟動(dòng)后對(duì)用戶進(jìn)行管理,包括在線用戶管理,踢出違規(guī)用戶,記錄用戶聊天信息等。協(xié)議設(shè)計(jì)就是規(guī)定服務(wù)器的 IP 和默認(rèn)的端口號(hào)( PORT),服務(wù)器在該 IP 和端口號(hào)監(jiān)聽客戶端的連接請(qǐng)求??蛻舳斯ぷ髂J饺缦聢D 34 所示, 啟 動(dòng) 客 戶 端C l i e n t用 戶 登 陸 窗 體L o g i n用 戶 登 陸 窗 體R e g i s t e r進(jìn) 入 聊 天 室C h a t R o o mL i s t e n e r注 冊(cè) 窗 體 時(shí) 間 監(jiān) 聽 圖 34 客戶端工作模式圖示 首先我們會(huì)啟動(dòng)客戶端,進(jìn)入類似 登陸的登陸界面 Login,上面有登陸用戶名和密碼輸入框和登陸按鈕,如果用戶輸入正確的用戶名和密碼就會(huì)直接進(jìn)入ChatRoom,如果此時(shí)有其他在線用戶,用戶就可以與他們進(jìn)行即時(shí)聊天了。服務(wù)器與客戶端連接和傳遞數(shù)據(jù)具體實(shí)現(xiàn)的原理如下圖 32 所示: 15 S o c k e t 請(qǐng) 求 建 立 連 接客 戶 端服 務(wù) 器S e r v e r S o c k e t 監(jiān) 聽 到請(qǐng) 求 并 建 立 一 個(gè) 與客 戶 端 通 信 的 專 用S o c k e tI / O 通 道 建 立 成 功 后 開 始 通 信向 服 務(wù) 器 發(fā) 送 S o c k e t連 接 請(qǐng) 求O u t p u t S t r e a mI n p u t S t r e a m O u t p u t S t r e a mI n p u t S t r e a m流 對(duì) 象 往 返 于 客 戶 端 與 服 務(wù)器 之 間 傳 輸 數(shù) 據(jù) 實(shí) 現(xiàn) 通 訊每 次 完 成 傳 輸 便 關(guān)閉 流 和 S o c k e t每 次 完 成 傳 輸 便 關(guān)閉 流 和 S o c k e t 圖 32服務(wù)器與客戶端實(shí)現(xiàn)數(shù)據(jù)交互通信原理圖 各個(gè)模塊功能詳解 服務(wù)器端結(jié)構(gòu) 服務(wù)器的工作主要是負(fù)責(zé)對(duì)客戶端請(qǐng)求的不斷監(jiān)聽,它一直處于擁塞狀態(tài),直到有客戶端發(fā)出連接請(qǐng)求為止。 綜上所述 ,本系統(tǒng)的設(shè)計(jì)與開發(fā)在經(jīng)濟(jì)上、軟件上和硬件設(shè)備上的條件都是滿足的。 AWT 組件 AWT 是 Abstract Window Toolkit (抽象窗口工具包 )的縮寫,這個(gè)工具包提供了一套與本地圖形界面進(jìn)行交互的接口。就其本身而言, 12 它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。 Socket 通常用來實(shí)現(xiàn)客戶端和服務(wù)器的連接。 就使用 UDP 發(fā)消息,因此
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1