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

正文內(nèi)容

基于tcpip的局域網(wǎng)聊天室的設(shè)計與實現(xiàn)(編輯修改稿)

2024-12-16 03:26 本頁面
 

【文章內(nèi)容簡介】 時間, 在此期間通過自己學(xué)習(xí)和查閱圖書以及詢問老師 獲得相關(guān)知識和方法,并 沒有其他的支出,而且 現(xiàn)階段只做學(xué)習(xí) 暫且不考慮經(jīng)濟成本及盈利問題。 技術(shù)可行性分析 首先我已經(jīng)搭建好開發(fā)所需要的軟硬件平臺,并進行了合理而完善的需求分析,做好了充分的前期準(zhǔn)備工作,其次因為本程序的平臺將基于 WINDOWS,將要使用網(wǎng)絡(luò)通信技術(shù),而 WINDOWS 有完善成熟的網(wǎng)絡(luò)通信接口,以及與 JAVA 開發(fā)環(huán)境的嚴(yán)密契合能力,加之相類似的更大規(guī)模的 INTERNET 通信工具產(chǎn)品也已基于 TCP/IP 的局域網(wǎng)聊天室的設(shè)計與實現(xiàn) 6 有 例在先,所以這個程序的開發(fā)可行性在技術(shù)上是完全可行的。 系統(tǒng)開發(fā)環(huán)境的分析 系統(tǒng)采用 JAVA 作為開發(fā)語言、 Eclipse 作為開發(fā)工具,系統(tǒng)的設(shè)計從需求分析開始,就保證了系統(tǒng)的穩(wěn)定性和可擴展性。 JAVA 語言是一種面向?qū)ο蟮木幊陶Z言,具有很好的移植性、并且更加的安全 和并發(fā)性,這使得 JAVA 語言各線程能夠并發(fā)進行。并且 JAVA 支持可視化圖形界面,使得操作更加直觀。 數(shù)據(jù)流圖 頂層數(shù)據(jù)流圖 聊 天 用 戶局 域 網(wǎng) 多人 聊 天 系統(tǒng)聊 天 用 戶 圖 22聊天系統(tǒng)頂層數(shù)據(jù)流圖 一 層 據(jù)流圖 聊 天 用 戶 聊 天 用 戶客 戶 端服 務(wù) 器 端寫 聊 天 信 息返 回讀 取返 回提 交反 饋存 儲 圖 23 聊天系統(tǒng)一層數(shù)據(jù)流圖 基于 TCP/IP 的局域網(wǎng)聊天室的設(shè)計與實現(xiàn) 7 第 3 章 系統(tǒng)設(shè)計 設(shè)計目標(biāo) 同一個局域網(wǎng)中, 如何根據(jù)自身業(yè)務(wù)的要求,量身定制,選擇一套 有效的局域網(wǎng)聊天室 系統(tǒng) 。如何來滿足局域網(wǎng)內(nèi)部用戶的通訊要求,在考慮到網(wǎng)絡(luò)傳輸實時性,這現(xiàn)代社會通訊所必需的。設(shè)計本系統(tǒng)時,分析網(wǎng)絡(luò)承載、整個系統(tǒng)結(jié)構(gòu)的組建等是實現(xiàn)局域網(wǎng)文字聊天所必需的。 局域網(wǎng)聊天作為一種廣泛的網(wǎng)絡(luò)應(yīng)用對其基礎(chǔ)的承載網(wǎng)絡(luò)環(huán)境的要求較低。局域網(wǎng)聊天的功能和應(yīng)用效果體現(xiàn)在客戶端,而服務(wù)器端則是必 不可少的,對于系統(tǒng)的需求分析在系統(tǒng)設(shè)計的過程中應(yīng)該明確、細(xì)致: 1. 用戶登錄:設(shè)立一個服務(wù)器,實現(xiàn)多個用戶及時通信。用戶在登陸時候輸入明確的用戶名稱,以便各用戶之間能夠識別。 2. 文本聊天:聊天室的功能即所謂的群聊,聊天的內(nèi)容所有的人都能夠看到,保密聊天室的功能即所謂的私聊,只有聊天雙方才能看到。用戶還可以對字體進行修改。 3. 文件傳輸:多線程,收發(fā)可隨時進行,相互之間沒有相互影響 ,文件傳輸速度快 。 構(gòu)建開發(fā)環(huán)境 硬件平臺 CPU: 。 內(nèi)存: 256MB 以上 軟件平臺 操作系統(tǒng): windows XP 或 window 7 開發(fā)工具包: Eclipse 開發(fā)環(huán)境: JVM 分辨率:最佳效果 1024*768 像素 系統(tǒng)模塊流程圖 基于 TCP/IP 的局域網(wǎng)聊天室的設(shè)計與實現(xiàn) 8 局域網(wǎng)聊天室 文字聊天 業(yè)務(wù)流程圖如圖 31 所示 。 圖 31系統(tǒng) 文字聊天 業(yè)務(wù)流程圖 發(fā)送文件的流程為:用戶添加文件向接收端發(fā)送文件傳輸請求,如果同意接收后,則啟動計時器,發(fā)送文件流,反饋狀態(tài),否則繼續(xù)添加文件,重復(fù)操作。 接收文件的流程為:服務(wù)器端執(zhí)行接收線程,接收發(fā)送端傳來的文件,并把 它保存。 開始 連接服務(wù)器 建立連接容許發(fā)送消息事件,啟動服務(wù)器線程 進行文字消息通信 服務(wù)器同意連 接 ? 是否斷開連接 發(fā)送斷開信號,關(guān)閉文本聊天 終止 Y Y N N 基于 TCP/IP 的局域網(wǎng)聊天室的設(shè)計與實現(xiàn) 9 局域網(wǎng)聊天室 文件發(fā)送 業(yè)務(wù)流程圖如圖 32 所示 。 圖 32系統(tǒng) 文 文件傳輸 業(yè)務(wù)流程圖 系統(tǒng)功能模塊圖 局域網(wǎng)聊天室功能模塊 圖如圖 32 所示 : 33局域網(wǎng)聊天室功能模塊 客戶端 用戶登陸 主體框 對話框主體 登陸驗證 N Y 服務(wù)器 記錄用戶登陸和顯示當(dāng)前在線用戶 發(fā)消息 發(fā)送消息 主窗體 發(fā)消息 對話框窗體 TCP/UDP 協(xié)議 服務(wù)器端 客戶端 基于 TCP/IP 的局域網(wǎng)聊天室的設(shè)計與實現(xiàn) 10 第 4 章 基于 Eclipse 的聊天室的分析與設(shè)計 TCP 套接字的運用 在文字聊天時 ,服務(wù)器端與客戶端的連接是采用的 TCP 套接節(jié)進行連接。 TCP套接字的使用如圖 41。創(chuàng)建 Socket 對象 SocketServer 來處理服務(wù)器 端與客戶端的連接, Socket 是 Windows Socket API 的高層抽象。 Socket 通常和 其他類 類混合使用,這兩個類負(fù)責(zé)數(shù)據(jù)的發(fā)送和接收 [17]。要使用 Socket 對象,首先要調(diào)用構(gòu)造函數(shù),然后調(diào)用 Create 函數(shù)創(chuàng)建一個 Socket[9]。 Socket 和 TCP 的工作流程如下圖所示 : 圖 41 TCP套接字的使用 基于 TCP/IP 的局域網(wǎng)聊天室的設(shè)計與實現(xiàn) 11 TCP 三次握手協(xié)議 第一次握手: 源 主機 通過 發(fā)送一個 數(shù)據(jù) 幀來 請求 本次 的 連接。 第二次握手: 當(dāng) 目的主機收到 源主機發(fā)送的這個請求 幀 之后 ,發(fā)送一個帶有源端機連接序列號 和 本次連接序號 的確認(rèn) 幀表示同意連接 。 第三次握手: 源端機等待接收兩次初始應(yīng)答的序列號之后 , 就 向目的主機發(fā)送一個帶有兩次連接序列號的確認(rèn) [10]。 具體過程如下: 主機 A 主機 B 圖 42 網(wǎng)絡(luò)傳輸?shù)娜挝帐? 程序結(jié)構(gòu) 多用戶在線方案: 采用客戶端 /服務(wù)器( C/S) 的和 JAVA 中多線程結(jié)構(gòu)模式。服務(wù)器通過監(jiān)聽來判斷是否有客戶端請求登陸并予以響應(yīng) , 而客戶端則是在需要登陸時候提交登陸請求以便服 務(wù)器進行監(jiān)聽。服務(wù)器通常情況下是始終運行的 , 用來 監(jiān)聽 各個 網(wǎng)絡(luò)端口,一旦 收到客戶端的 請求, 就需要立即啟動一個進程來響應(yīng)客戶端的服務(wù) 。于此同時,服務(wù)器還將 繼續(xù)監(jiān)聽服務(wù) 的各個 端口,以便 后來的 客戶端 也能及時的接收到 響應(yīng)。 在這個過程中,很多線程被創(chuàng)建,線程的輪轉(zhuǎn)是有時間片限定的,而這個時間片非常的小,對于客戶端來說基本感覺不到,就像所有的線程都是在同時進行的 [10]。 多線程的工作原理如下圖所示: ACK=1 第一次握手,主機 A 向主機 B 發(fā)送連接請求 第二次握手,主機 B 收到主機 A的請求,向主機 A回發(fā)一個確認(rèn),同時向主機 A 發(fā)送一個連接請求 第三次握手,主機 A 收到主機 B 發(fā)送的數(shù)據(jù)包在向主機 B 發(fā)送一個確認(rèn)連接 SYN=1,SEQ= ACK=1,SYN=1,SEQ= aaaaaaaaaa 基于 TCP/IP 的局域網(wǎng)聊天室的設(shè)計與實現(xiàn) 12 圖 43 多線程在線 軟件框架 Users SendOne SendAll FileTrans UserList Connect Client Server TCP Socket 圖 44 軟件主題框架 代碼實現(xiàn) 用戶登陸模塊 圖 45用戶登陸模塊 客戶端 登陸模塊部分主要代碼如下 : class Connect extends JFrame implements ActionListener, ItemListener, { public void link() throws Exception { // 連接服務(wù)器 hostName = ().trim()。 port = (())。 client = new Socket(hostName, port)。// 創(chuàng)建一個流套接字并將其連接到指定 IP 地基于 TCP/IP 的局域網(wǎng)聊天室的設(shè)計與實現(xiàn) 13 址的指定端口號。 in = new BufferedReader(new InputStreamReader(()))。 out = new PrintWriter(())。 (() + amp。 + sex)。 ()。} } 服務(wù)器 端登陸模塊部分主要代碼如下: public static void addConnection(Socket s, ClientProc cp) {if (connections == null) {connections = new VectorSocket()。} (s)。 if (clients == null) {clients = new VectorClientProc()。} (cp)。} public static void deleteConnection(Socket s, ClientProc cp) throws IOException {if (connections != null) {(s)。 ()。} if (clients != null) {(cp)。}} public static Vector getClients() {return clients。} 用戶列表模塊 圖 46 在線好友主界面 客戶端 用戶列表部分代碼如下 : public void valueChanged(ListSelectionEvent e) 基于 TCP/IP 的局域網(wǎng)聊天室的設(shè)計與實現(xiàn) 14 {// 監(jiān)聽下拉列表的顯示內(nèi)容 if (() =
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1