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

正文內(nèi)容

基于socket的多客戶端網(wǎng)絡(luò)聊天系統(tǒng)的開發(fā)與設(shè)計(jì)-53頁-文庫(kù)吧

2025-10-09 15:04 本頁面


【正文】 。首先人具有開 門的功能,鎖具有打開門的功能,開門時(shí)人只需要調(diào)用鎖的功能就可以了,不需要知道鎖是如何打開的。提高了代碼的復(fù)用性 Java是面向?qū)ο蟮恼Z言。 TCP/IP協(xié)議的使用是通過它所包含的類庫(kù),用戶可以憑借統(tǒng)一資源定位符 打開并訪問網(wǎng)絡(luò)上的對(duì)象 。 Java具有很好的程序自動(dòng)檢查錯(cuò)誤的功能。 Java可以自動(dòng)的檢查內(nèi)存中的錯(cuò)誤;減少內(nèi)存中的出錯(cuò),還提供了垃圾回收方法。 防止程序員在編寫程序時(shí)因忘記寫內(nèi)存管理代碼而產(chǎn)生的錯(cuò)誤。在編譯時(shí), Java可以幫助程序員減少程序的錯(cuò)誤,對(duì)沒有被處理的錯(cuò)誤加以提示,以防 止系統(tǒng)的崩潰。 莆田 學(xué)院 2020 屆本科畢業(yè)論文 5 用于網(wǎng)絡(luò)中分布式環(huán)境下的 Java 防止病毒的入侵。因?yàn)?Java不支持指針,通過對(duì)象的實(shí)例變量來訪問內(nèi)存;這樣就防止病毒訪問其私有成員,同時(shí)預(yù)防可因操作指針而產(chǎn)生的錯(cuò)誤。 平臺(tái)無關(guān)性在體系結(jié)構(gòu)中是獨(dú)立的。使得 Java程序 客戶端及服務(wù)器端 可以被不同的 系統(tǒng) 在 相同的 網(wǎng)絡(luò) 環(huán)境中 使用,非常的方便。 Java中提供了許多可以 被 移植的類庫(kù),可以在不同的 系統(tǒng) 上使用的接口。 Java語言實(shí)現(xiàn)了編譯器, Java運(yùn)行時(shí)系統(tǒng)是由 C實(shí)現(xiàn),這使得 Java 系統(tǒng)本身也具有可移植性。 多線程功 能使得在一個(gè)程序里可同時(shí)執(zhí)行多個(gè)進(jìn)程。多線程的最大的好處是更好的實(shí)時(shí)的控制性能和交互性能 。同步機(jī)制保證了數(shù)據(jù)具有共享的特性。多線程使得 程序開發(fā)者 可以在不同的線程完成 不同的特定 行為,而不需要采用全局的事件循環(huán)機(jī)制,這樣就很容易地實(shí)現(xiàn)網(wǎng)絡(luò)上的實(shí)時(shí)交互行為。 隨著面向?qū)ο笤O(shè)計(jì)方法的發(fā)展, Java的動(dòng)態(tài)性也隨之產(chǎn)生。在程序運(yùn)行過程中它允許實(shí)時(shí)的裝入所需要的類,使它適合于 不斷發(fā)展的環(huán)境。 .2 JavaApplet Applet是創(chuàng)建在 html上的 Java程序;它是具有安全性、動(dòng)態(tài)性、跨平臺(tái)無關(guān) 性特點(diǎn)的網(wǎng)絡(luò)應(yīng)用程序。 Java 語言的特點(diǎn)使的其可以將網(wǎng)絡(luò)的利用達(dá)到最大化。這些由 Java 語言編寫的程序嵌入在特定的容器中;通??梢耘c用戶進(jìn)行交互式交流,產(chǎn)生特定的效果。 Java中豐富的類庫(kù),它們提供了多線程、網(wǎng)絡(luò)化、面向?qū)ο笙到y(tǒng)的需要。 :實(shí)用包( )和語言包( ) 其包含的主要類: 語言包( )。 String類、 class類、 Runtime類、 Object類、 Float類和 Math類 實(shí)用包( ): Data類、 Vector類、 Arrays類和 Enumeratin接口 2. Socket編程用低級(jí)網(wǎng)絡(luò)包實(shí)現(xiàn) Inter的網(wǎng)絡(luò)通訊協(xié)議 ,提供了與 Inter 的接口。 它支持統(tǒng)一資源定位符連接 ,簡(jiǎn)化了程序設(shè)計(jì)。 在操作符、變量聲明、參數(shù)傳遞、流控制等方面; Java 使用了同傳統(tǒng)語言相同的方法 ,使得程序員可以非常方便地進(jìn)行編程的開發(fā)。為了實(shí)現(xiàn)其特性 , Java也放棄了傳統(tǒng)語言中很多不足的內(nèi)容。 基于 Socket的 簡(jiǎn)易 網(wǎng)絡(luò)聊天系統(tǒng)的開發(fā)與設(shè)計(jì) 6 在 Java 程序中 ,本類中通過類定義公用的、靜態(tài)的全局變量可以被其它類所使用。使得變量可以被其他類所 訪問和修改。 Java更好的封裝了變量,使的不會(huì)造成系統(tǒng)的崩潰。 goto語句在 Java中是作為保留字的,不能被用于命名。在傳統(tǒng)的語言中 goto跳轉(zhuǎn)語句是用來處理遇到異常時(shí)的跳轉(zhuǎn);而在 Java中是通過 try,Catch, final 等來處理遇到錯(cuò)誤時(shí)跳轉(zhuǎn)。使程序更結(jié)構(gòu)化。 在傳統(tǒng)的語言中內(nèi)存是不能被自動(dòng)分配和釋放的。而 Java中可以自動(dòng)的進(jìn)行的,可以避免因程序員忘記寫內(nèi)存的分配而造成的系統(tǒng)崩潰,在 Java中通過 new運(yùn)算符分配內(nèi)存堆。同樣也避免因程序員忘記寫內(nèi)存的釋放而造成的內(nèi)存 塊也會(huì)逐漸耗盡系統(tǒng)資源,避免了資源的浪費(fèi),更好的利用了系統(tǒng)資源。 在 Java中類型的轉(zhuǎn)換主要包含 3中情況,分別為自動(dòng)轉(zhuǎn)換、強(qiáng)制轉(zhuǎn)換。自動(dòng)轉(zhuǎn)換就是源代碼中不用任何特殊說明,系統(tǒng)會(huì)自動(dòng)進(jìn)行轉(zhuǎn)換。而強(qiáng)制轉(zhuǎn)換是在低級(jí)類型向高級(jí)的類型中的轉(zhuǎn)換。在代碼中不需要用任何說明,可以直接使用。 Java 應(yīng)用于網(wǎng)絡(luò) 網(wǎng)絡(luò)上的文本、音頻、視頻等資源可以被 Java 程序獲得。同時(shí),處理這些資源。例如 Java 程序可以獲取某時(shí)間最新數(shù)據(jù),并且顯示出來。在處理上,會(huì)生成一個(gè)對(duì)象,然后用 Java中的方法獲取該對(duì)象的資 源。 例如: Java 從網(wǎng)絡(luò)上獲取圖像并且加以顯示, Java 中提供了相應(yīng)的方法。 getImage(new URL(字符串 )) 其使用格式可有兩種: String url = “結(jié)點(diǎn) URL” 。 Image image。 try { image = getImage(new URL(url))。 } 莆田 學(xué)院 2020 屆本科畢業(yè)論文 7 catch(Exception e){ (“Can’t open the URL “)。 } 或 URL imgur=null。 Image image。 try { imgur=new URL(“ 結(jié)點(diǎn) URL “ )。 }catch (MalformedURLException e) { (“Can’t open the URL “)。 } image=getImage(imgur)。 前一種格式用 “ new URL(url)” 生成 URL 對(duì)象 , 并直接作為 getImage 的參數(shù) , 后一種格式先用 “ new URL(url)” 生成一個(gè) URL 對(duì)象 , 再傳給 getImage, 兩種格式本質(zhì)上是一樣的。 以上僅是 Java 在客戶端應(yīng)用的一些方面,目前, Java 更廣泛的應(yīng)用是在服務(wù)器端。 IP/TCP (1)IP、 TCP協(xié)議的特點(diǎn): TCP/IP( Transmission Control Protocol/Inter Protocol)傳輸控制協(xié)議 /網(wǎng)際協(xié)議。是一組以 TCP 與 IP 為基礎(chǔ)的相關(guān)協(xié)議的集合,該協(xié)議不是完全符合 OSI 的七層參考模型,而是采用的四層結(jié)構(gòu),網(wǎng)絡(luò)接口層、網(wǎng)際層、傳輸層、應(yīng)用層。 網(wǎng)絡(luò)接口層 對(duì)實(shí)際網(wǎng)絡(luò)媒體進(jìn)行管理,定義如何使用實(shí)際網(wǎng)絡(luò)來傳輸數(shù)據(jù)。 網(wǎng)際層 負(fù)責(zé)提供基本的數(shù)據(jù) 封裝成包傳送功能,但是并不能保證數(shù)據(jù)能正確的傳送到目的主機(jī),工作在這一層的主要協(xié)議是 IP。 傳輸層 此層提供了點(diǎn)到點(diǎn)之間數(shù)據(jù)傳輸服務(wù)。如面向連接的傳輸控制協(xié)議( TCP)、面向無連基于 Socket的 簡(jiǎn)易 網(wǎng)絡(luò)聊天系統(tǒng)的開發(fā)與設(shè)計(jì) 8 接用戶數(shù)據(jù)報(bào)協(xié)議( UDP)。 IP 協(xié)議的作用:是 TCP/IP 協(xié)議族的核心,也是網(wǎng)際層中最重要的協(xié)議,接收有更低層發(fā)來的數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送到更高層,此外網(wǎng)際層也可以將從傳輸層接收的數(shù)據(jù)包傳送到更低層 [12]。 IP 是面向無連接的數(shù)據(jù)報(bào)傳送, IP 將包文件傳送至目的主機(jī)后,不會(huì)對(duì)傳送的內(nèi)容進(jìn)行效驗(yàn)。 TCP 協(xié)議的功能: TCP 是 在傳輸層,提供了面向連接的數(shù)據(jù)包傳送服務(wù),保證數(shù)據(jù)包能夠正確的被傳送與接收,包含內(nèi)容的效驗(yàn)與包的順序,損壞的包可以被重傳。一般不適合工作在局域網(wǎng)中。因?yàn)槠涮峁┑臄?shù)據(jù)傳送是會(huì)驗(yàn)證的,因此效率較低。 TCP/IP 協(xié)議具有以下特點(diǎn): 協(xié)議標(biāo)準(zhǔn)是開放的,在計(jì)算機(jī)硬件及操作系統(tǒng)是獨(dú)立的,使用是免費(fèi)的。 允許 IP協(xié)議在各種不同的網(wǎng)絡(luò)上運(yùn)行,具有分配網(wǎng)絡(luò)地址的功能。 可以為各式各樣的應(yīng)用提供服務(wù)。 (2)端口號(hào): 端口號(hào)的理論范圍是 0~ 65535 之間,其中 0~ 1023 是保留端口大部分分配了特定的應(yīng)用協(xié)議。在 Java 中 服務(wù)器端是有 ServerSocket 類來表示的,用它來監(jiān)聽指定的端口并接收客戶端的連接請(qǐng)求。計(jì)算機(jī)上的同一端口號(hào)只能分配一個(gè)唯一的 ServerSocket對(duì)象,不能存在兩個(gè) ServerSocket 對(duì)象監(jiān)聽同一個(gè)端口。同時(shí)還要避免沒有被其它程序占用。計(jì)算機(jī)唯一服務(wù)的端口號(hào)是用 1024 之后的連接端口。 Socket Socket,簡(jiǎn)稱套接字,是為了完成會(huì)話所需要的技術(shù), 是在客戶端和服務(wù)器端實(shí)現(xiàn)網(wǎng)絡(luò)間進(jìn)程通信的技術(shù), 套接字是在較低的層次上通信的。用于網(wǎng)絡(luò)建立連接,當(dāng)成功的連接時(shí);在程序的兩端會(huì)產(chǎn)生實(shí)例 ,用于請(qǐng)求和接受會(huì)話,相當(dāng)于一個(gè)管道。 開發(fā)原理: 服務(wù)器,使用 特定類 監(jiān)聽指定的端口,端口 是由 1024~ 65535 之間的端口組成的 , 當(dāng)客戶端提出連接請(qǐng)求時(shí),會(huì)對(duì)其進(jìn)行處理,產(chǎn)生會(huì)話;在會(huì)話結(jié)束后,關(guān)閉連接。 客戶端,使用 Socket 對(duì) 服務(wù)器的端口進(jìn)行連接,成功后,就可以打開進(jìn)行會(huì)話了;當(dāng)會(huì)話結(jié)束后,關(guān)閉資源。 Socket 程序的工作過程: 建立 Socket 連接:在通信開始之前首先確認(rèn)程序的兩端的實(shí)例是否對(duì)應(yīng);如果莆田 學(xué)院 2020 屆本科畢業(yè)論文 9 對(duì)應(yīng)就可以建立一個(gè)通道進(jìn)行連接。 數(shù)據(jù)通信:利用虛擬連接通道傳送數(shù)據(jù)信息進(jìn)行通道。 關(guān)閉:通信結(jié)束時(shí),再將所建的虛擬連接拆除。 具體如下: 圖 1 socket通信 主要步驟: 首先: 主機(jī) B 接受 一個(gè) 由 主機(jī) A 發(fā)送的 的數(shù)據(jù)段 ;此數(shù)據(jù)段中包含了 同步序列號(hào)的標(biāo)志位 ; 建立連接 ,通過這個(gè)數(shù)據(jù)段 , 主機(jī) A 向 主機(jī) B 發(fā)送同步請(qǐng)求;其中包含有 A要和 B建立通信 。B 要用特定的 數(shù)據(jù)段來回應(yīng) A。 其次: 主機(jī) B 收到主機(jī) A 的請(qǐng)求后 ,必須進(jìn)行同步請(qǐng)求應(yīng)答。會(huì)向 A 反饋一個(gè)數(shù)據(jù)段,向 A說明已收到請(qǐng)求;且需要選擇數(shù)據(jù)段來回應(yīng)。 最后: A收到這個(gè)數(shù)據(jù) 包 后 ,需要發(fā)送一個(gè)確認(rèn);回復(fù) B:已收到回復(fù),連接建立成功,可以傳遞數(shù)據(jù)。 具體過程如下 第一次握手,主機(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)求 基于 Socket的 簡(jiǎn)易 網(wǎng)絡(luò)聊天系統(tǒng)的開發(fā)與設(shè)計(jì) 10 主機(jī) A 主機(jī) B 圖 2 主要步驟 2 系統(tǒng)分析 系統(tǒng)基本功能描述 客戶端可以實(shí)現(xiàn)登陸,即時(shí)聊天,密碼的修改 , 查看歷史聊天記錄 ,查看公告,查看在線用戶 等功能。 服務(wù)器端應(yīng)當(dāng)建立一個(gè) ServerSocket, 用于 不斷進(jìn)行偵聽客戶端是否有連接 請(qǐng)求 或者斷開連接 。 服務(wù)器端 就是一個(gè)管理信息發(fā)送的控制中心;客戶端要想進(jìn)行信息的傳遞,首先必須先將信息發(fā)送至服務(wù)器端,然后服務(wù)器再根據(jù)要求將信息發(fā)送至所要發(fā)送的地點(diǎn)。 可行性 分析 本系統(tǒng)可以從以下幾個(gè)方面的內(nèi)容進(jìn)行可行性分析: (1) 技術(shù)可行性 使用 Swing 技術(shù)可以很方便的開發(fā)出 Java 圖形界面窗口。 使用 socket 技術(shù),可以非常方便的、實(shí)用的、高效率的開發(fā)聊天系統(tǒng);因此技術(shù)上是可以實(shí)現(xiàn)的。 (2) 經(jīng)濟(jì)可行性 在網(wǎng)絡(luò)時(shí)代,計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)大范圍的普及,因此在設(shè)備上不需要進(jìn)行大范圍的投入。 僅需開發(fā)軟件,因此經(jīng)濟(jì)上是可行的。 (3) 操作可行性 只要一臺(tái)以上計(jì)算機(jī)連接在同一個(gè)局域網(wǎng)內(nèi),本系統(tǒng)就可以安裝使用,所以操作上完全不存在問題。 SYN=1,SEQ= ACK=1,SYN=1,SEQ= aaaaaaaaaa 莆田 學(xué)院 2020 屆本科畢業(yè)論文 11 課題來源 根據(jù)時(shí)下校園 的普遍需求,專用的針對(duì)學(xué)校的 簡(jiǎn)易 聊天工具軟件越來越受同學(xué)們青睞。因此開發(fā) 簡(jiǎn)易 聊天工具是相當(dāng)有必要的。擁有一款針對(duì)學(xué)校內(nèi)部的 簡(jiǎn)易 聊天工具聊天軟件,不僅可以方便同學(xué)們?cè)诰W(wǎng)絡(luò)故障時(shí)的交流,同時(shí)可以增加溝通。本人在大學(xué)時(shí)學(xué)習(xí)過 JAVA 語言和網(wǎng)絡(luò)編程,為了更好的有效的檢驗(yàn)自己的技術(shù)能力,本人就決定以《 端對(duì)端簡(jiǎn)易聊天系統(tǒng) 》為畢業(yè)設(shè)計(jì),希望通過這一次的能進(jìn)一步提高本人的 java 編程的能力。 需求分析 簡(jiǎn)易 聊天工具主要有 兩個(gè)方面 : 服務(wù)器端和客戶端。 首先要先了解一下 服務(wù)器端和客戶端 要完成的任務(wù),了解了這些那么任務(wù)就 完成了一半。 客戶端 要 完成的工作包括: 1.與服務(wù)器 端建立 發(fā)送信息 的 通信通道 。 2. 對(duì) 服務(wù)器 端發(fā)送 的信息 進(jìn)行 接收。 3. 更改當(dāng)前用戶自身的信息,如密碼等。 與 服務(wù)器 相比 ,客戶端的任務(wù)更加簡(jiǎn)單, 通過 分析, 我們 可以 了解 , 簡(jiǎn)易 聊天工具系統(tǒng)的核心 就是這些問題 。 3 系統(tǒng)總體設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì) 本系統(tǒng)中的主要實(shí)體和其屬性有: ( ID,用戶名,密碼,年齡,性別 ,住址,注冊(cè)時(shí)間 ) ER 模型如圖所示。 基于 Socket的 簡(jiǎn)易 網(wǎng)絡(luò)聊天系統(tǒng)的開發(fā)與設(shè)計(jì) 12 u s e rN a m ep a s s w o r da g es e x
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1