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

正文內(nèi)容

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

2024-12-16 03:26 本頁面
 

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