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

正文內(nèi)容

第一組網(wǎng)絡(luò)系統(tǒng)課程設(shè)計(jì)模板:基于udp協(xié)議的網(wǎng)絡(luò)聊天程序設(shè)計(jì)(完整版)

  

【正文】 adioButton rb2。//擴(kuò)展組件 import .*。 過(guò)程中也遇到了很多問(wèn)題,不過(guò)及時(shí)的問(wèn)老師解決問(wèn)題,使我更加了解了 Java 語(yǔ)言的特點(diǎn)。 康熙卓 《 基于 UDP 協(xié)議的網(wǎng)絡(luò)聊天程序設(shè)計(jì) 》 第 12 頁(yè) 共 22 頁(yè) 圖 關(guān)閉連接后 這是斷開(kāi)連接后的效果,界面顯示要進(jìn)行連接,在這種情況下如果發(fā)送信息,那么是失敗的,不能被接受。 //基本事件 import .*。 //將面板 p11,p12,p13 作為組件添加到面板 pane11 中 (panel3, )。 JPanel p13 = new JPanel(new FlowLayout())。 //初始化框架 public void initGUI() //定義窗口初始化方法 康熙卓 《 基于 UDP 協(xié)議的網(wǎng)絡(luò)聊天程序設(shè)計(jì) 》 第 10 頁(yè) 共 22 頁(yè) 上面兩行是窗口的初始化。 //文本框,輸入單行文本 private JTextArea ta, tb。 圖 客戶(hù)端與服務(wù)器界面 界面包括服務(wù)器和客戶(hù)端 選擇以及其選擇按鈕,連接狀態(tài)時(shí)顯示通信時(shí)時(shí)連接還是離線(xiàn),昵稱(chēng)是在聊天時(shí)顯示信息的發(fā)送方和接收方,發(fā)送信息框就是發(fā)送信息的輸入框,在界面的下面是發(fā)送、連接、關(guān)閉連接按鈕,其作用就是很明顯 康熙卓 《 基于 UDP 協(xié)議的網(wǎng)絡(luò)聊天程序設(shè)計(jì) 》 第 9 頁(yè) 共 22 頁(yè) 的了。 康熙卓 《 基于 UDP 協(xié)議的網(wǎng)絡(luò)聊天程序設(shè)計(jì) 》 第 8 頁(yè) 共 22 頁(yè) 總體設(shè)計(jì)思路 基于 UDP 協(xié)議通信和基于 TCP 協(xié)議的通信不同,機(jī)遇 UDP 的消息傳遞更快,但不提供可靠性的保證。 ( 3) 接收到請(qǐng)求,啟動(dòng)一新進(jìn)程處理用戶(hù)請(qǐng)求,同時(shí)釋放舊進(jìn)程以響應(yīng)新 康熙卓 《 基于 UDP 協(xié)議的網(wǎng)絡(luò)聊天程序設(shè)計(jì) 》 第 7 頁(yè) 共 22 頁(yè) 的客戶(hù)請(qǐng)求,一旦服務(wù)完成,關(guān)閉新進(jìn)程與客戶(hù)的通信鏈路。 客戶(hù)機(jī) /服務(wù)器模式 由于 Socket 支持多種協(xié)議上的網(wǎng)絡(luò)程序開(kāi)發(fā), 比如 TCP、 UDP、和 IP 等等。 UDP 和 TCP 的比較 UDP 和 TCP 協(xié)議的主要區(qū)別是兩者在如何實(shí)現(xiàn)信息的可靠傳遞方面不同。 UDP 協(xié)議使用端口號(hào)為不同的應(yīng)用保留其各自的數(shù)據(jù)傳輸通道。 UDP 對(duì)應(yīng)用層交下來(lái)的報(bào)文,既不合并,也不拆分,而是保留這些報(bào)文的邊界。當(dāng)衛(wèi)星和無(wú)線(xiàn)網(wǎng)絡(luò)出現(xiàn)以后,現(xiàn)有的協(xié)議在和這些網(wǎng)絡(luò)互聯(lián)時(shí)出現(xiàn)了問(wèn)題,所以需要一種新的參考體系結(jié)構(gòu),能無(wú)縫地連接多個(gè)網(wǎng)絡(luò)。 Java 程序需要的類(lèi)能動(dòng)態(tài)地被載入到運(yùn)行環(huán)境,也可以通過(guò)網(wǎng)絡(luò)來(lái)載入所需要的類(lèi)。主要特性如下: ( 1)簡(jiǎn)單: Java 語(yǔ)言丟棄了 C++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類(lèi)型轉(zhuǎn)換。目前的 Eclipse 本身就具備資源管理和外部程序的功能,加上無(wú)所不能的插件,將構(gòu)成一個(gè)豐富多彩的工作環(huán)境而不僅僅是一個(gè) IDE。 課程設(shè)計(jì)目的 設(shè)計(jì)一個(gè)基于 UDP 協(xié)議的及時(shí) 通信系統(tǒng),實(shí)現(xiàn)一個(gè)局域網(wǎng)環(huán)境下的即時(shí)通信程序。 ( 4)在老師的指導(dǎo)下,要求每個(gè)學(xué)生獨(dú)立完成課程設(shè)計(jì)的全部?jī)?nèi)容。 應(yīng)當(dāng)提交的文件: ( 1) 課程 設(shè)計(jì) 報(bào)告。在設(shè)計(jì)的過(guò)程中熟悉 UDP 協(xié)議以及套節(jié)字編程原理,熟悉 Eclipse 編程環(huán)境及 Socket/ServerSocket 編程方法的同時(shí)理解 C/S 工作模式。 Eclipse 中三個(gè)最吸引人的地方:一是它創(chuàng)新性的圖形 API,即 SWT/JFace,在此之前,我曾經(jīng)用過(guò) Java 的 AWT/SWING 來(lái)開(kāi)發(fā) Windows 應(yīng)用程序,AWT/SWING 其界面客觀(guān)地講不夠美觀(guān),而且界面響應(yīng)速度比較慢;而SWT/JFace 則大大改善了 Java 在這方面的能力。特別地, Java 語(yǔ)言不使用指針,并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂(yōu)。這也有利于軟件的升級(jí)。這個(gè)體系結(jié)構(gòu)就是 TCP/IP參考模型。 UDP 結(jié)構(gòu) UDP 屬于 IP 下層協(xié)議,所以它的字節(jié)和 ICMP 中所定義的相同,格式如圖 所示。 UDP 和 rap 協(xié)議正是采用這一機(jī)制,實(shí)現(xiàn)對(duì)同一時(shí)刻內(nèi)多項(xiàng)應(yīng)用同時(shí)發(fā)送和接收數(shù)據(jù)的支持。TCP 協(xié)議中包含了專(zhuān)門(mén)的傳遞保證機(jī)制,當(dāng)數(shù)據(jù)接收方收到發(fā)送方傳來(lái)的信息時(shí),會(huì)自動(dòng)向發(fā)送方發(fā)出確認(rèn)消息;發(fā)送方只有在接收到該確認(rèn)消息之后才繼續(xù) 康熙卓 《 基于 UDP 協(xié)議的網(wǎng)絡(luò)聊天程序設(shè)計(jì) 》 第 6 頁(yè) 共 22 頁(yè) 傳送其它信息,否則將一直等待直到收到確認(rèn)信息為止。由于這次課程設(shè)計(jì)是實(shí)現(xiàn)點(diǎn)到點(diǎn)的可靠連接,所以在此使用 UDP 連接方式。 ( 4) 繼續(xù)等待客戶(hù)機(jī)請(qǐng)求。也就是說(shuō),數(shù)據(jù)在傳遞的時(shí)候,用戶(hù)無(wú)法知道數(shù)據(jù)能否正確的到達(dá)目的地主機(jī),也不能確定數(shù)據(jù)到達(dá)目的地的順尋是否和發(fā)送的順序相同。 (2) 監(jiān)聽(tīng)業(yè)務(wù)邏輯設(shè)計(jì) 選擇監(jiān)聽(tīng) .當(dāng)選擇客戶(hù)端時(shí),會(huì)顯示 “連接中 ” “連接 ...。 //文本域,多行文本編輯框 ,增加了滾動(dòng)條功能 private JButton btnCon, btnSend, btnExit。 (new BorderLayout())。 (new JLabel(昵稱(chēng) ))。 //最后把 panel3 添加到內(nèi)容窗中 Panel 不是頂層窗口,它必須位于窗口或其他容器中,可以容納其他組件,在程 序中經(jīng)常用于布局和定位。 //擴(kuò)展組件 import .*。 5 總結(jié) 在課程設(shè)計(jì)中在課程設(shè)計(jì)中遇到了不少問(wèn)題,比如剛開(kāi)始學(xué)習(xí) Java 語(yǔ)言時(shí),學(xué)校機(jī)房的機(jī)器總是過(guò)一段時(shí)間就自動(dòng)關(guān)機(jī),然后自己寫(xiě)的代碼就沒(méi)有了,所以做起來(lái)比較煩悶,后來(lái)老師設(shè)置了服務(wù)器,要我們把寫(xiě)好的代碼傳上去,服務(wù)了我們的同時(shí),讓我對(duì)這個(gè)產(chǎn)生了興趣。在自己有余的時(shí)間還幫助同學(xué)調(diào)試錯(cuò)誤, 通過(guò)這次設(shè)計(jì),進(jìn)一步加深了對(duì) 計(jì)算機(jī)網(wǎng)絡(luò) 的了解,讓我對(duì)它有了更加濃厚的興趣。//輸入輸出流 import .*。 //復(fù)選框 單選按鈕 private String strbuf = 。 //聲明初始化的方法 } public void initGUI() //定義窗口初始化方法 { (new BorderLayout())。 //程序前面為聲明初始化復(fù)選框類(lèi)的對(duì)象,此處實(shí)例化對(duì)象 ButtonGroup bg = new ButtonGroup()。 //設(shè)置文本框不能編輯 (tf1)。 (p13)。 //添加文本域到 panel2 中 int v = 。 //添加標(biāo)簽到 p31 面板中 tb = new JTextArea(3, 30)。 (false)。amp。 (false)。 //buffer 用作緩沖區(qū),用于存儲(chǔ)數(shù)據(jù)報(bào) buffer = ()。 ().interrupt()。 //try 中代碼出 現(xiàn)異常時(shí),提示出錯(cuò) } } } }。 (().getHostName() + port:901 + \n)。 s = ()。 (().getHostName() + port:902 + \n)。 s = ()。 } } } catch (Exception e) { ()。 (true)。 } } } catch (Exception e1) { ()。 (true)。 //將 listener 作為事件監(jiān)聽(tīng)器注冊(cè)給事件源btnCon (listener)。 ().interrupt()。 //數(shù)據(jù)報(bào) if (() == true) //如果按鈕 1 被選擇,即選擇服務(wù)器端 ,執(zhí)行以
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1