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

正文內(nèi)容

畢業(yè)論文基于java局域網(wǎng)聊天軟件終稿(編輯修改稿)

2025-07-25 10:32 本頁面
 

【文章內(nèi)容簡介】 的步驟被稱為 TCP 連接建立時的“三次握手” ,在這之后,連接就建立起來了,這個連接將一直保持活動狀態(tài),直到超時或者任何一方發(fā)出一個 FIN(結束)信號。這種通信模式也叫客戶端/服務器(C/S)模式。主機 A 主機 BACK=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 圖 13 三次握手協(xié)議由此可見,通過客戶端和服務器的“三次握手” ,雙方可以建立暢通的通信信道,在此信道上雙方互相傳輸數(shù)據(jù)。 服務器和客戶機網(wǎng)絡最基本的目的就是讓兩臺機器連接到一起,并相互“交談” 或者“溝通”。一旦兩臺機器都發(fā)現(xiàn)了對方,就可以展開一次令人愉快的雙向?qū)υ?。但它們怎樣才能“發(fā)現(xiàn) ”對方呢?這就像在游樂園里那樣:一臺機器不得不停留在一個地方,偵聽其他機器說:“ 嘿,你在哪里呢? ” “停留在一個地方 ”的機器叫做 “服務器”(Server);到處“找人”的機器則叫做“客戶機”(Client)或者 “客戶”。它們之間的區(qū)別只有在客戶機試圖同服務器連接的時候才顯得非常明顯。一旦連通,就變成了一種雙向通信,誰來扮演服務器或者客戶機便顯得不那么重要了。 所以服務器的主要任務是偵聽建立連接的請求,這是由我們創(chuàng)建的特定服務器對象完成的。而客戶機的任務是試著與一臺服務器建立連接,這是由我們創(chuàng)建的特定客戶機對象完成的。一旦連接建好,那么無論在服務器端還是客戶機端,連接只是魔術般地變成了一個 IO 數(shù)據(jù)流對象。從這時開始,我們可以象讀寫一個普通的文件那樣對待連接。所以一旦建好連接,我們只需使用自己熟悉的 IO 命令即可。這正是 Java 聯(lián)網(wǎng)最方便的一個地方。圖 14 服務器和客戶機的連接 本文內(nèi)容安排本論文內(nèi)容安排如下:第二章為聊天系統(tǒng)的需求分析,主要介紹系統(tǒng)的可行性研究,需求分析流程圖等。第三章為概要設計,分模塊介紹系統(tǒng)的具體實現(xiàn)過程。第四章為詳細設計。2 需求分析 可行性分析經(jīng)濟可行性:由于本系統(tǒng)的主要背景是畢業(yè)課程設計,不注重直接的經(jīng)濟效益和其后的發(fā)展方向,只在注重自身水平和能力的提高,對自身的經(jīng)濟要求也不高,只要有一臺能運行 Java 軟件的電腦便可,所以不用考慮到經(jīng)濟問題。技術可行性: 本系統(tǒng)的開發(fā)利用 Microsoft SQL Server2022 作為本系統(tǒng)的數(shù)據(jù)庫,它是一個支持多用戶的新型數(shù)據(jù)庫,適用于大中規(guī)模的數(shù)據(jù)量需求。學校校園網(wǎng)的建設也為新系統(tǒng)服務器/客戶端的結構提供了硬件的支持。使用 Java 作為系統(tǒng)開發(fā)的開發(fā)環(huán)境,它提供完善的指令控制語句、類與對象的支持及豐富的數(shù)據(jù)類型,給開發(fā)高性能系統(tǒng)提供的保障為開發(fā)滿足客戶要求的系統(tǒng),保證了代碼的模塊化要求,而代碼模塊化的提高,非常有利于以后對新系統(tǒng)的擴展與修改。運行可行性: 本系統(tǒng)為一個小型的局域網(wǎng)聊天系統(tǒng) ,所耗費的資源非常的小,現(xiàn)在一般的電腦無論是硬件還是軟件都能夠滿足條件,因此,本系統(tǒng)在運行上是可行的。綜上所述,本系統(tǒng)的設計與開發(fā)在技術上和硬件設備上的條件都是滿足的,因此,它在技術上是可行的。 系統(tǒng)功能需求本系統(tǒng)主要通過客戶端,服務器端來體現(xiàn)聊天系統(tǒng)的基本功能。(1)服務器端,服務器監(jiān)控聊天內(nèi)容,服務器過濾非法內(nèi)容8. 服務器踢人。9. 保存服務器日志。 。(2)客戶端 系統(tǒng)性能需求實用性:為局域網(wǎng)聊天提供方便,有效進行作業(yè)管理。操作簡單:本系統(tǒng)應該適用于不同水平的使用者,包括事業(yè)單位和企業(yè)單位,同時系統(tǒng)不應太復雜和煩瑣,因此要求系統(tǒng)的操作盡可能簡單易行。技術先進:產(chǎn)品的系統(tǒng)設計和開發(fā)應緊跟著整個計算機發(fā)展潮流,采用當時最先進的設計思想,利用最新的開發(fā)技術和開發(fā)工具。使系統(tǒng)能夠無論在功能設計上,還是在技術實現(xiàn)上,都處于同行業(yè)的領先地位。安裝使用簡便:服務器端的安裝簡潔明了,客戶機無需再裝任何軟件就可以直接注冊登陸聊天。適應性:應該能廣泛應用于不同類型的企事業(yè)單位。系統(tǒng)采用模塊化設計,用戶可以根據(jù)自己的實際情況自行組合,使系統(tǒng)在不同的硬件環(huán)境下都能得以應用。 代碼可讀性好:文中的代碼將盡可能簡潔,易懂。 系統(tǒng)運行需求 運行環(huán)境:Windows 9x、202xp、2022,Linux必要環(huán)境:JDK 以上硬件環(huán)境:CPU 400MHz 以上,內(nèi)存 64MB 以上 數(shù)據(jù)流圖 頂層數(shù)據(jù)流圖聊天用戶局域網(wǎng)多人聊天系統(tǒng)聊天用戶圖 21 頂層數(shù)據(jù)流圖 一層數(shù)據(jù)流圖. 聊天用戶 聊天用戶客戶端服務器端寫聊天信息返回讀取返回提交 反饋存儲圖 22 一層數(shù)據(jù)流圖 二層數(shù)據(jù)流圖用戶客戶端服務器端用戶注冊用戶登錄用戶發(fā)送信息聊天內(nèi)容非法內(nèi)容用戶得到的信息處理用戶退出服務器日志 數(shù)據(jù)聊天信息保存保存處理監(jiān)控屏蔽圖 23 系統(tǒng)二層數(shù)據(jù)流圖3 概要設計 系統(tǒng)實現(xiàn)原理聊天系統(tǒng)的設計跟普通網(wǎng)站設計有著許多不同的地方,普通網(wǎng)站設計所考慮的因素,例如,普通網(wǎng)站需要對布局進入大量美化以及動畫設計等等,而聊天室只要提供滿足訪客雙方直接實時聊天即可。因此,在設計聊天系統(tǒng)的過程中,必須要考慮好以下幾個設計要點:在 Inter 上的聊天程序一般都是以服務器提供服務端連接響應,使用者通過客戶端程序登錄到服務器,就可以與登錄在同一服務器上的用戶交談,這是一個面向連接的通信過程。因此,程序要在 TCP/IP 環(huán)境下,實現(xiàn)服務器端和客戶端兩部分程序。圖 31 系統(tǒng)實現(xiàn)原理圖 系統(tǒng)實現(xiàn)層次圖:局域網(wǎng)多人聊天系統(tǒng)客戶端 服務器端與聊天室成員私聊可以改變聊天內(nèi)容風格用戶注冊( 含頭像)、登錄服務器發(fā)送通知服務器踢人保存服務器日志保存用戶聊天信息服務器過濾非法內(nèi)容服務器監(jiān)控聊天內(nèi)容聊天室成員一起聊天時鐘功能圖 32 系統(tǒng)實現(xiàn)層次圖 各模塊詳細功能 服務器端結構圖 33 服務器端結構圖 為服務器端程序界面,負責為服務器的啟動提供界面服務。 為服務器端啟動界面,負責監(jiān)聽服務器的狀態(tài),在線人數(shù),最多在線人數(shù),服務器名稱,訪問協(xié)議,服務器 IP,服務器端口以及用戶信息的管理,日志的保存。 是連接服務器和客戶端的橋梁,主要負責將客戶端的信息傳送給服務器,并將服務器端的信息反饋給客戶端,即所謂的“三次握手”。也是 Socket 編程的重要部分。 負責將聊天過程中不合法的話語文件等過濾掉,返回合法內(nèi)容。 客戶端結構圖 34 客戶端結構圖 為客戶端程序啟動類,負責客戶端的啟動和退出。 為客戶端程序登錄界面,負責用戶帳號信息的驗證與反饋。 為客戶端程序注冊界面,負責用戶帳號信息的注冊驗證與反饋。 為客戶端程序聊天室主界面,負責接收、發(fā)送聊天內(nèi)容與服務器端的 親密合作。Windowclose 為 的內(nèi)部類,負責監(jiān)聽聊天室界面的操作,當用戶退出時返回給服務器信息。 為客戶端程序的一個小程序,實現(xiàn)的一個石英鐘功能。4 詳細設計 系統(tǒng)流程圖 系統(tǒng)總體流程圖開始啟動服務器判斷啟動信息啟動客戶端判斷登錄信息登錄聊天室退出聊天室結束是是注冊用戶退出服務器否是否圖 41 系統(tǒng)總體流程圖 系統(tǒng)客戶端流程圖開始客戶端登錄界面聊天室界面清屏 聊天內(nèi)容 時鐘 保存聊天對象 字體顏色 表情退出結束圖 42 客戶端流程圖 編寫服務器端程序 問題陳述 1. 接受用戶注冊信息并保存在一個基于文件的對象型數(shù)據(jù)庫。 2. 能夠允許注冊過的用戶登錄聊天界面并可以聊天。 3. 能夠接受私聊信息并發(fā)送給特定的用戶。 4. 服務器運行在自定義的端口上 1001. 5. 服務器監(jiān)控用戶列表和用戶聊天信息(除私聊外)。 6. 服務器踢人,發(fā)送通知。 7. 服務器保存日志。 解決方案 后臺數(shù)據(jù)庫設計基于服務器跨平臺運行的構想,服務器的后臺數(shù)據(jù)庫使用了 SQL Server2022。(1)login 表:Login 表(2)register 表register 表此表主要包含了用戶帳戶基本信息。聊天系統(tǒng)采用用戶名作為用戶帳號,并給每個用戶生成一個唯一 ID 來做系統(tǒng)內(nèi)部的用戶標識。 用戶注冊 首先創(chuàng)建一個 File 文件類,載入“”,再用對象輸入流ObjectInputStream 將用戶信息導入到系統(tǒng)中。 客戶端通過 請求注冊,填寫注冊信息,并驗證密碼是否符合規(guī)定,是否兩次輸入一致,如不一致會提示重新輸入,最后將請求信息發(fā)送給服務器端。int flag = 0。 // 是否重名判斷標志Register_Customer clientMessage = (Register_Customer) obj。File fList = new File()。if (() != 0)// 判斷是否是第一個注冊用戶{ObjectInputStream objInput = new ObjectInputStream(new FileInputStream(fList))。vList = (Vector) ()。// 判斷是否有重名for (int i = 0。 i ()。 i++) {Register_Customer reg = (Register_Customer) vList.elementAt(i)。if (()) {(注冊名重復,請另外選擇 )。flag = 1。break。} else if ((所有人 )) {(禁止使用此注冊名,請另外選擇 )。flag = 1。break。 服務器端得到注冊請求會將對象輸入流轉化為文件輸出流,并反饋給客戶端??蛻舳说玫阶孕畔⒑髸谇芭_填寫注冊信息,然后創(chuàng)建文件輸出流,再用對象輸出流包裝后寫入本地文件將其持久化。最后關閉對象輸出流和文件輸入流。// 將向量中的類寫回文件FileOutputStream file = new F
點擊復制文檔內(nèi)容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1