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

正文內(nèi)容

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

2025-07-25 10:32 本頁(yè)面
 

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