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

正文內(nèi)容

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

2025-03-18 10:25本頁面
  

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