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

正文內(nèi)容

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

2022-09-07 17:54:13 本頁(yè)面
 

【正文】 ications. Besides, there are such as Microsoft39。本系統(tǒng)采用 C/S 模式,即客戶端 /服務(wù)器模式,客戶端與服務(wù)器通過(guò) Socket 傳遞數(shù)據(jù),服務(wù)器采用多線程技術(shù)。 眾所周知的 ,擁有上億的注冊(cè)用戶,在國(guó)內(nèi)即時(shí)通訊領(lǐng)域占據(jù)了第一的位置,因?yàn)槠渚哂袕?qiáng)大的功能,可以實(shí)現(xiàn)文字通訊、語(yǔ)音通訊甚至即時(shí)的視屏通訊。當(dāng)今社會(huì),互聯(lián)網(wǎng)幾乎覆蓋了所有行業(yè),由此可見,其在我們的日常生活中所占的地位是顯而易見的。 而網(wǎng)絡(luò)能帶給我們的是什么呢?當(dāng)然是時(shí)效性。除此之外,還有諸如微軟的 MSN、網(wǎng)易的 POPO,新浪 UC 等等。利用 Eclipse進(jìn)行開發(fā)。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í)性的信息。 諸如騰訊 、微軟的 MSN、網(wǎng)易的POPO,新浪 UC 等眾多出類拔萃的聊天系統(tǒng),給我們生活所帶來(lái)的時(shí)效性、便利性是有目共睹的。本課題內(nèi)容主要是應(yīng)用數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)用戶信息以及用戶聊天記錄,所以相對(duì)于其他大型的應(yīng)用,操作起來(lái)比較簡(jiǎn)單。最后實(shí)現(xiàn)局域網(wǎng)即時(shí) 通訊功能。據(jù) 2020 年 5 月 13 日騰訊官方公布顯示,目前注冊(cè)用戶中的活躍用戶達(dá)到了 億的水平,最高同 時(shí)在線人數(shù)高達(dá) 億,這無(wú)疑是一個(gè)驚人的數(shù)據(jù)。其具體工作方式經(jīng)過(guò)本人理解畫出如下 11 示意圖, 客 戶 端 3客 戶 端 1客 戶 端 2服 務(wù) 器 1 服 務(wù) 器 2 圖 11 騰訊 工作模式示意圖 而提到 大家也非常熟悉的 MSN,通過(guò)網(wǎng)絡(luò)了解到,它是另一種工作模式,純TCP 通信,而不像騰訊 一樣 TCP 和 UDP 并用,其工作模式如下圖 12 所示, 3 客 戶 端 1 客 戶 端 2服 務(wù) 器 1服 務(wù) 器 2客 戶 端 3 圖 12 MSN 通信模式示意圖 我們會(huì)看出, MSN 這種通信其實(shí)就是 TCP 通信,而 TCP 通信就是通過(guò)服務(wù)器轉(zhuǎn)發(fā)消息來(lái)實(shí)現(xiàn)客戶端之間通信的,當(dāng)客戶端 1 要和客戶端 2 取得聯(lián)系時(shí),必須通過(guò)中間服務(wù)器 1 或者 2 來(lái)實(shí)現(xiàn)信息的轉(zhuǎn)發(fā),而服務(wù)器在這里的角色其實(shí)就是一個(gè)中轉(zhuǎn)站了。 基于 Socket 的局域網(wǎng)通信軟件在目前來(lái)說(shuō)是相當(dāng)廣泛的,不但滿足了傳統(tǒng)的通信需求,還可以擴(kuò)展其應(yīng)用范圍,以適應(yīng)更多更大范圍的需求。比如單一 TCP 通信的 MSN,在穩(wěn)定傳輸和安全性上是可圈可點(diǎn)的。 課題內(nèi)容、目的及目標(biāo) 課題內(nèi)容 本課題主要是用 Java 下的 Socket 研究局域網(wǎng)通信,并利用 Socket 編寫一個(gè)可以供多人通 信的局域網(wǎng)聊天軟件,此聊天軟件分為服務(wù)器程序和客戶端程序兩個(gè)獨(dú)立的工程項(xiàng)目。 5 本課題的最終目標(biāo)是實(shí)現(xiàn)局域網(wǎng)的即時(shí)通訊,包括點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多、多對(duì)多的相互通訊,最后以一臺(tái)主機(jī)作為服務(wù)器,另外用不同的主機(jī)作為客戶端進(jìn)行試驗(yàn)驗(yàn)證,能夠?qū)崿F(xiàn)相互間的文字通訊。起初他用具有面向?qū)ο筇卣鞯?C++語(yǔ)言編寫嵌入式軟件,可以放在面包機(jī)或 PDA( Personal Digital Assistant,個(gè)人數(shù)字 助理 )等小型電子 產(chǎn)品 里,以使設(shè)備變得更為 “聰明 ”,更具備人工只能。面包機(jī)上的程序錯(cuò) 誤可能使面包機(jī)燒壞甚至爆炸。 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最初是為了對(duì)家用電器進(jìn)行集成控制而設(shè)計(jì)的,因而具備簡(jiǎn)單明了的特征。 安全性 Java 是可以用在網(wǎng)絡(luò)及分布環(huán)境下的網(wǎng)絡(luò)程序設(shè)計(jì)語(yǔ)言。 Java 源程序經(jīng)過(guò)編譯后生成字節(jié)碼文件,而字節(jié)碼與具體的計(jì)算機(jī)無(wú)關(guān)。 執(zhí)行效率 Java 的字節(jié)碼需要經(jīng)過(guò) Java 虛擬機(jī) JVM 解釋成機(jī)器碼才能執(zhí)行,所以速度上較慢。 IP 地址 :TCP/IP 網(wǎng)絡(luò)中的每臺(tái)計(jì)算機(jī)都有唯一的地址 IP 地址 。 Datagram 是更低級(jí)的網(wǎng)絡(luò)傳輸方式,它把數(shù)據(jù)目的地記錄在包中,并把數(shù)據(jù)分成若干塊記錄在固定大小的數(shù)據(jù)包中,然后直接放在網(wǎng)絡(luò)上傳遞到目的端,至于你到底傳送成功與否,這就沒它的事了。 TCP/UDP 協(xié)議 TCP (Transmission Control Protocol)和 UDP(User Datagram Protocol)屬于 傳輸層 協(xié)議。一般來(lái)說(shuō), TCP 對(duì)應(yīng)的是可靠性要求高的應(yīng)用,而 UDP 對(duì)應(yīng)的則是可靠性要求低、傳輸經(jīng)濟(jì)的應(yīng)用。 TCP( Transmission Control Protocol, 傳輸控制協(xié)議 )是基于連接的協(xié)議,也就是說(shuō),在正式收發(fā)數(shù)據(jù)前,必須和對(duì)方建立可靠的連接。 以下是三次 “ 握手 ” 的概念圖 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é)流無(wú)差錯(cuò)地發(fā)往網(wǎng)絡(luò)上的其他計(jì)算機(jī),對(duì)可靠性要求高的 數(shù)據(jù)通信系統(tǒng) 往往使用 10 TCP 協(xié)議傳輸數(shù)據(jù) 。它是 “ 面向非連接 ” 的協(xié)議,它不 會(huì) 與對(duì)方建立連接,而是直接就把 數(shù)據(jù)包 發(fā)送過(guò)去! UDP 適用于一次只傳送少量數(shù)據(jù)、對(duì)可靠性要求不高的應(yīng)用環(huán)境。正因?yàn)?UDP 協(xié)議沒有連接的過(guò)程,所以它的通信效率高 。 在 C/S 模式的工作過(guò)程中 , 客戶機(jī)程序發(fā)出請(qǐng)求 , 服務(wù)器程序接收并且處理客戶機(jī)程序提出的請(qǐng)求 , 然后返回結(jié)果 。 11 在 C/S 模式中 , 作為客戶機(jī)的計(jì)算機(jī)都要安裝客戶機(jī)程序 , 一旦軟件系統(tǒng)升級(jí) , 每臺(tái)客戶機(jī)都要安裝客戶機(jī)程序 , 系統(tǒng)升級(jí)和維護(hù)較為復(fù)雜 。 Socket 所支持的協(xié)議不光有 TCP/IP,還有 UDP。本次畢業(yè)設(shè)計(jì)所要用到的組件包括 Eclipse 平臺(tái), JDK 解釋器, AWT 組件庫(kù), SQL Server 2020 等。 JDK(Java Development Kit)是 Sun Microsystems 針對(duì) Java 開發(fā)員的產(chǎn)品。 JDBC 由一組用 Java 語(yǔ)言編寫的類和接口組成,通過(guò)調(diào)用這些類和接口所提供的方法,用戶能夠以一致的方式連接多種不同的數(shù)據(jù)庫(kù),從而可使用標(biāo)準(zhǔn)的 SQL 語(yǔ)言來(lái)存取數(shù)據(jù)庫(kù)中的數(shù)據(jù),不必再為每一種數(shù)據(jù)庫(kù)系統(tǒng)編寫不同的 Java 代碼。 13 第三章 系統(tǒng)分析與設(shè)計(jì) 系統(tǒng)分析 系統(tǒng)可行性分析 經(jīng)濟(jì)可行性 :由于本系統(tǒng)的主要背景是畢業(yè)設(shè)計(jì),不考慮到直接的經(jīng)濟(jì)效益和其后的商業(yè)發(fā)展,而只在于注重自身水平和能力的提高。 運(yùn)行可行性 :本系統(tǒng)為一個(gè)小型的局域網(wǎng)聊天系統(tǒng) ,所耗費(fèi)的資源比較少,只要安裝了運(yùn)行該程序所必要的軟件后,就目前的電腦,都是能夠運(yùn)行的。 系統(tǒng)功能需求 既然該 課題的可行性是已經(jīng)確定,那么我們就可以開始分析其具體的功能需求。綜合以上因素,我對(duì)本次畢業(yè)設(shè)計(jì)所要做的的工作做了以下的總結(jié): 在 Inter 上的聊天程序一般都是以服務(wù)器提供服務(wù)端連接響應(yīng),使用者通過(guò)客戶端程序登錄到服務(wù)器,就可以與登錄在同一服務(wù)器上的用戶交談,這是一個(gè)面向連接的通信過(guò)程。服務(wù)器功能具體的實(shí)現(xiàn)方式如下圖 33 所示, 服 務(wù) 器 端 監(jiān) 聽 控 制 窗 體S e r v e r F r a m eS e r v e r L i s t e n T h r e a d啟 動(dòng) 服 務(wù) 器 監(jiān) 聽 線 程 一 直 監(jiān) 聽 客 戶 端 的 請(qǐng) 求C o n n e c t i o nS t o p關(guān) 閉 服 務(wù) 器 停 止 服 務(wù) 圖 33 服務(wù)器工作模式圖示 開啟服務(wù)器時(shí)會(huì)進(jìn)入服務(wù)器控制主界面,上面標(biāo)明了服務(wù)器的 IP、端口號(hào)等重 16 要信息,管理者可以點(diǎn)擊開啟按鈕啟動(dòng)服務(wù)器。注冊(cè)是對(duì)用戶開放注冊(cè)功能,從而能讓注冊(cè)過(guò)的用戶進(jìn)入聊天室。 17 系統(tǒng)設(shè)計(jì) 設(shè)計(jì)原則 考慮到系統(tǒng)的可重用性和易維護(hù)性,需要將本系統(tǒng)的網(wǎng)絡(luò)底層通信和應(yīng)用系統(tǒng)分開,做到結(jié)構(gòu)分明、各功能模塊清晰。用戶登陸聊天時(shí),將實(shí)現(xiàn)統(tǒng)一的用戶登陸驗(yàn)證機(jī)制。 架構(gòu)設(shè)計(jì) 本系統(tǒng)中,服務(wù)器端設(shè)計(jì)兩個(gè)線程,一個(gè)用來(lái)處理客戶端連接請(qǐng)求的監(jiān)聽線程,一旦監(jiān)聽到 Socket 連接請(qǐng)求,服務(wù)器便進(jìn)入 Connection 線程工作,處理客戶端 相應(yīng)請(qǐng)求的操作,比如登陸、注冊(cè)、發(fā)送消息、退出等操作。 數(shù)據(jù)庫(kù)設(shè)計(jì) 由于本局域網(wǎng)聊天系統(tǒng)主要是以 提供聊天服務(wù)為主要目標(biāo),所以所設(shè)計(jì)的數(shù)據(jù)庫(kù)表只有簡(jiǎn)單的兩張,一張用來(lái)存儲(chǔ)用戶信息,一張用來(lái)存儲(chǔ)用戶的聊天信息,如下圖 35,36 所示, 圖 35 用戶信息表 用戶信息表主要包括了用戶名、密碼、年齡、性別、郵箱 5 個(gè)數(shù)據(jù),分別用來(lái)存儲(chǔ)用戶的用戶名、密碼、年齡、性別、郵箱。其主界面如下圖 42, 43 所示, 20 圖 42 服務(wù)器主界面 圖 43 服務(wù)器用戶管理主界面 21 服務(wù)器的開啟 點(diǎn)擊啟動(dòng)服務(wù)器按鈕,便可以啟動(dòng)服務(wù)器,服務(wù)器開始提供服務(wù)。如果輸入正確的用戶名和密碼,就會(huì)登錄到聊天室 ChatRoom 主界面。 = ()。 /** * 對(duì)得到的注冊(cè)用戶信息進(jìn)行驗(yàn)證 */ //用戶名有無(wú)驗(yàn)證 if(()==0){ (null, 用戶名不能為空! )。 } //兩次密碼輸入是否相同驗(yàn)證 if(!(())){ (null, 兩次輸入密碼不一致! )。 } /** * 輸入內(nèi)容合法性驗(yàn)證 */ //年齡合法性驗(yàn)證 int age = (())。 for(int i = 0。){ flag++。 String sql = select * from userInfo where userName=39。 ResultSet rs = (sql)。 return。,39。,39。)。 系統(tǒng)功能特點(diǎn)及改進(jìn) 本次畢業(yè)設(shè)計(jì)所設(shè)計(jì)的局域網(wǎng)聊天系統(tǒng),基本上實(shí)現(xiàn)了局域網(wǎng)通信功能。 40 第五章 結(jié)論 本次畢業(yè)設(shè)計(jì)主要應(yīng)用了 Java 下的 Socket 編程實(shí)現(xiàn)了一個(gè)局域網(wǎng)的通信軟件,基本滿足了系統(tǒng)結(jié)構(gòu)化、界面友好、速度快、占用資源少、穩(wěn)定等特點(diǎn)。并且在這一重要而復(fù)雜的領(lǐng)域進(jìn)行了相關(guān)的實(shí)踐開發(fā),不管是對(duì)自我的自學(xué)能力、研究能力,還是實(shí)踐動(dòng)手能力、資料查閱能力,都起到了非常大的促進(jìn)作用和推動(dòng)作用。生成的聊天室可以達(dá)到基本的局域網(wǎng)聊天要求,具有較高的學(xué)習(xí)價(jià)值和深入的研究?jī)r(jià)值。 通過(guò)本次畢業(yè)設(shè)計(jì),本人對(duì) Java 的認(rèn)識(shí)水平有了極大的提高。在整個(gè)設(shè)計(jì)過(guò)程中,在老師的指導(dǎo)和許多同學(xué)的共同幫助下,及時(shí)總結(jié)成果,這些無(wú)疑會(huì)對(duì)我今后的工作和學(xué)習(xí)帶來(lái)很大的幫助。通過(guò)這次畢業(yè)設(shè)計(jì),本人在 Java Socket 通信機(jī)制的學(xué)習(xí)上受益匪淺,明白了 Socket 通信的基本原理,并能夠用 Java Socket
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1