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

正文內(nèi)容

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

2024-12-14 15:04 上一頁面

下一頁面
 

【正文】 stem. Key words: LAN Chat Socket Java Eclipse 莆田 學(xué)院 2020 屆本科畢業(yè)論文 3 前言 隨著第三次技術(shù)革命的展開,互聯(lián)網(wǎng)進(jìn)入了千家萬戶,人們的生活隨著網(wǎng)絡(luò)的發(fā)展也發(fā)生著翻天覆地的變化。開發(fā)中使用了計(jì)算機(jī)網(wǎng)絡(luò)編程技術(shù),如 C/S 模式,多線程技術(shù),網(wǎng)絡(luò)通信等等。該系統(tǒng)的開發(fā)主要是服務(wù)器端和客戶端兩個方面。市場上有很多優(yōu)秀的聊天工具,用的最廣范的最被人們所接受的有騰訊 、 MSN、人人網(wǎng)等等,但此 簡易 聊天工具是專門針對學(xué)校內(nèi)部的特點(diǎn)使其在網(wǎng)絡(luò)聊天產(chǎn)業(yè)中占有一席之地。其中用到了局域網(wǎng)通信機(jī)制的原理,通過實(shí)現(xiàn) Runnable 接口建立多線程機(jī)制。首先建立系統(tǒng)應(yīng)用原型,然后進(jìn)行修正和改進(jìn),直到完成可發(fā)布版系統(tǒng)。它的主要功能就是聊天,提供了一個人與人之間開展人際交流的平臺。 1 JAVA 的功能與編程 1. 1 Java 的概述 上世紀(jì), Sun公司根據(jù)需要開發(fā)出一種不同與以往語言的編程語言 —— Java。向迅速發(fā)展起來的信息世界增添了新的活力。在設(shè)計(jì)中 Gosling 采用了在一個操作系統(tǒng)上以虛擬機(jī)的方式運(yùn)行,這樣一來, Java就具備了平臺無關(guān)性。它具有使用方便、費(fèi)用低廉和管理方便的優(yōu)點(diǎn)。 隨著 Java 的誕生計(jì)算機(jī)信息的交換進(jìn)入了一個非常重要的里程碑。 基于 Socket的 簡易 網(wǎng)絡(luò)聊天系統(tǒng)的開發(fā)與設(shè)計(jì) 4 Java的產(chǎn)生和互聯(lián)網(wǎng)的崛起使得笨重繁雜的應(yīng)用程序開始向小型化發(fā)展, Java使得互相協(xié)作的可執(zhí)行的實(shí)體進(jìn)行數(shù)據(jù)的傳送與處理。隨著 Java和 Inter的發(fā)展,應(yīng)用軟件的開發(fā) 和使用方式正在發(fā)生著翻天覆地的變化,傳統(tǒng)的信息處理工具必然將被淘汰,因?yàn)樾畔⒅挥泄蚕砗褪褂弥胁艜w現(xiàn)它的價(jià)值。 2) Java放棄了 C++語言中容易引發(fā)程序指針和內(nèi)存管理錯誤的缺點(diǎn)。用函數(shù)的方式一步步的將這些步驟實(shí)現(xiàn),實(shí)用的時候依次調(diào)用這些函數(shù)就可以了。提高了代碼的復(fù)用性 Java是面向?qū)ο蟮恼Z言。 防止程序員在編寫程序時因忘記寫內(nèi)存管理代碼而產(chǎn)生的錯誤。 平臺無關(guān)性在體系結(jié)構(gòu)中是獨(dú)立的。 多線程功 能使得在一個程序里可同時執(zhí)行多個進(jìn)程。 隨著面向?qū)ο笤O(shè)計(jì)方法的發(fā)展, Java的動態(tài)性也隨之產(chǎn)生。這些由 Java 語言編寫的程序嵌入在特定的容器中;通常可以與用戶進(jìn)行交互式交流,產(chǎn)生特定的效果。 它支持統(tǒng)一資源定位符連接 ,簡化了程序設(shè)計(jì)。使得變量可以被其他類所 訪問和修改。使程序更結(jié)構(gòu)化。 在 Java中類型的轉(zhuǎn)換主要包含 3中情況,分別為自動轉(zhuǎn)換、強(qiáng)制轉(zhuǎn)換。 Java 應(yīng)用于網(wǎng)絡(luò) 網(wǎng)絡(luò)上的文本、音頻、視頻等資源可以被 Java 程序獲得。 例如: Java 從網(wǎng)絡(luò)上獲取圖像并且加以顯示, Java 中提供了相應(yīng)的方法。 } 莆田 學(xué)院 2020 屆本科畢業(yè)論文 7 catch(Exception e){ (“Can’t open the URL “)。 }catch (MalformedURLException e) { (“Can’t open the URL “)。 IP/TCP (1)IP、 TCP協(xié)議的特點(diǎn): TCP/IP( Transmission Control Protocol/Inter Protocol)傳輸控制協(xié)議 /網(wǎng)際協(xié)議。 傳輸層 此層提供了點(diǎn)到點(diǎn)之間數(shù)據(jù)傳輸服務(wù)。 TCP 協(xié)議的功能: TCP 是 在傳輸層,提供了面向連接的數(shù)據(jù)包傳送服務(wù),保證數(shù)據(jù)包能夠正確的被傳送與接收,包含內(nèi)容的效驗(yàn)與包的順序,損壞的包可以被重傳。 允許 IP協(xié)議在各種不同的網(wǎng)絡(luò)上運(yùn)行,具有分配網(wǎng)絡(luò)地址的功能。計(jì)算機(jī)上的同一端口號只能分配一個唯一的 ServerSocket對象,不能存在兩個 ServerSocket 對象監(jiān)聽同一個端口。用于網(wǎng)絡(luò)建立連接,當(dāng)成功的連接時;在程序的兩端會產(chǎn)生實(shí)例 ,用于請求和接受會話,相當(dāng)于一個管道。 數(shù)據(jù)通信:利用虛擬連接通道傳送數(shù)據(jù)信息進(jìn)行通道。 其次: 主機(jī) B 收到主機(jī) A 的請求后 ,必須進(jìn)行同步請求應(yīng)答。 服務(wù)器端應(yīng)當(dāng)建立一個 ServerSocket, 用于 不斷進(jìn)行偵聽客戶端是否有連接 請求 或者斷開連接 。 (2) 經(jīng)濟(jì)可行性 在網(wǎng)絡(luò)時代,計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)大范圍的普及,因此在設(shè)備上不需要進(jìn)行大范圍的投入。因此開發(fā) 簡易 聊天工具是相當(dāng)有必要的。 首先要先了解一下 服務(wù)器端和客戶端 要完成的任務(wù),了解了這些那么任務(wù)就 完成了一半。 與 服務(wù)器 相比 ,客戶端的任務(wù)更加簡單, 通過 分析, 我們 可以 了解 , 簡易 聊天工具系統(tǒng)的核心 就是這些問題 。用戶以客戶端為平臺連接到服務(wù)器,那么用戶在同一服務(wù)器上就可以聊天了。 3 .3 簡易 聊天工具系統(tǒng)的設(shè)計(jì)步驟及功能模塊劃分 聊天系統(tǒng)工作原理圖如下: 圖 6 工作原理圖 基于 Socket的 簡易 網(wǎng)絡(luò)聊天系統(tǒng)的開發(fā)與設(shè)計(jì) 14 簡易 聊天工具系統(tǒng)各功能模塊 服務(wù)器端功能: 服 務(wù) 器 端啟動與停止服務(wù)查看在線用戶詳細(xì)信息修改學(xué)校信息部門信息維護(hù)用戶信息維護(hù)發(fā)送信息 圖 7 服務(wù)器功能 服務(wù)器端的主要功能包括:啟動服務(wù)、停止服務(wù)、在線用戶詳細(xì)信息的查看、發(fā)送接受到的客戶端信息、修改學(xué)校信息、部門信息的維護(hù)、用戶信息的維護(hù) 。 import 。 基于 Socket的 簡易 網(wǎng)絡(luò)聊天系統(tǒng)的開發(fā)與設(shè)計(jì) 16 import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 private JLabel label_NetOption = new JLabel()。 private JButton button_Exit = new JButton(退 出 )。 private user_add_JDialog user_add_JDialog = null。 private String name_ID = null。 (false)。 ()。 JLabel l = new JLabel(i)。 (bl)。 Border border3 = (border2, 登錄 )。 //(border2)。 //(new Dimension(50,23))。 (boBox_ID)。 (label_Password)。)。 ((new Dimension(1,10)))。 } /** * 生成一個按鈕區(qū)域的 JPanel * return 一個按鈕區(qū)域的 JPanel */ private JPanel makeButton(){ JPanel p = new JPanel()。 (new Dimension(70,23))。 (new Dimension(70,23))。 ()。 ()。 基于 Socket的 簡易 網(wǎng)絡(luò)聊天系統(tǒng)的開發(fā)與設(shè)計(jì) 24 ((),)。 Border border1 = (5,5,5,5)。 (border)。 JPanel panel1 = new JPanel()。 (new Dimension(175,23))。 JLabel label2 = new JLabel(端 口 號 :)。 (textField_Port)。 return panel。 莆田 學(xué)院 2020 屆本科畢業(yè)論文 27 String id = ().toString()。 BufferedReader bufferedReader = null。 bufferedReader = new BufferedReader(fileReader)。 基于 Socket的 簡易 網(wǎng)絡(luò)聊天系統(tǒng)的開發(fā)與設(shè)計(jì) 28 fileWriter = new FileWriter(file, false)。 } catch (FileNotFoundException e1) { //()。 } try { ()。 BufferedReader bufferedReader = null。 VectorString idReverse = new VectorString()。 while(()){ (())。 }finally{ try { ()。 } } } /** 莆田 學(xué)院 2020 屆本科畢業(yè)論文 31 * 獲得設(shè)置按鈕 * return 設(shè)置按鈕 */ public JButton getButton_NetOption() { return button_NetOption。 } /** * 獲得登錄按鈕 * return 登錄按鈕 */ public JButton getButton_Login() { return button_Login。 } /** * 獲得端口輸入框 * return 端口輸入框 */ public JTextField getTextField_Port() { 基于 Socket的 簡易 網(wǎng)絡(luò)聊天系統(tǒng)的開發(fā)與設(shè)計(jì) 34 return textField_Port。 } public ObjectOutputStream getObjectOutputStream() { return objectOutputStream??蛻舳巳缓笙蚍?wù)器發(fā)送請求,比如文件傳輸?shù)?,客戶端的請求服?wù)器收到后,針對不同的消息做出處理請求。 import 。 import 。 import 。 /** * 這是一個按鈕監(jiān)聽類,它實(shí)現(xiàn)了 接口。 } })。 //如果當(dāng)前為最大化狀態(tài) ,聊天記錄面板在不可視后仍然以最大化狀顯示 if( == ()){ ()。 } ()。 //否則根據(jù)當(dāng)前大小進(jìn)行設(shè)大小 :寬度 不變 ,高度 +130 }else{ int width = 莆田 學(xué)院 2020 屆本科畢業(yè)論文 41 (int)().getWidth()。 } // 發(fā)送 } else if (() == ()) { Package qqPackage_Chat = new Package()。 } String to = ()。 String input = ().getText()。 return。 String self = 我 + + time + 對 + to + 說 : + \n + + input + \n。 ().append(self)。 String time = ()。 } } ObjectOutputStream objectOutputStream = null。 ()。 // 修改密碼 }else if (() == ()){ new ResetPassword_JDialog(qq_Chat_JFrame)。 ()。 try { objectOutputStream = ()。 } (0)。 功能模塊的測試 本次課設(shè)的編譯環(huán)境,及 編寫平臺為 Java。 步 驟 操作描述 數(shù)據(jù) 期望結(jié)果 實(shí)際結(jié)果 1 連接服務(wù)器 / 彈出“開啟服務(wù)” 同期望結(jié)果 2 信息維護(hù) / 彈出相應(yīng)的窗體 同期望結(jié)果 3 信息的發(fā)送 / 在信息框中出現(xiàn)相應(yīng)的信息 同期望結(jié)果 客戶端首先進(jìn)行用戶的登錄,向服務(wù)器發(fā)送連接請求;連接服務(wù)器。從開始前的茫茫然對自己知識感到匱乏,到之后畢業(yè)設(shè)計(jì)期間,通過努力的在圖書館查閱資料和請教同學(xué)和老師,我逐步的完成了系統(tǒng)的設(shè)計(jì),我由衷的感到了成功的喜悅和自豪。使我了解了項(xiàng)目的開展過程,從項(xiàng)目開始前的需求分析,到進(jìn)行時的結(jié)構(gòu)設(shè)計(jì)和詳細(xì)設(shè)計(jì)代碼的編寫,最后的測試程序。這將是我人生中寶貴的財(cái)富, 為我之后的工作提供了良好的基礎(chǔ)和寶貴的經(jīng)驗(yàn)。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1