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

正文內(nèi)容

(計算機專業(yè))基于java的局域網(wǎng)飛鴿傳書軟件的設(shè)計與實現(xiàn)(編輯修改稿)

2025-01-09 01:43 本頁面
 

【文章內(nèi)容簡介】 不依賴于機器的結(jié)構(gòu)、具有可移植性、安全性、并且提供了并發(fā)的機制,具有很高的性能。其次, Java 還提供了豐富的類庫涉及加解密、消息摘要等,使程序設(shè)計者可以很方便地調(diào)用這些方法進(jìn)行二次開發(fā)。另外,在 JDBC 誕生之后, Java 在數(shù)據(jù)庫應(yīng)用領(lǐng)域獲得了成功的應(yīng)用,大大降低了 Java 語言操作數(shù)據(jù)庫的復(fù)雜程度,可以將重心放在功能實現(xiàn)上。 [ 3] 11 3 系統(tǒng)開發(fā)分析 C/S 軟件架構(gòu)技術(shù) C/S( Client/Server)結(jié)構(gòu),即大家熟知的客戶機 /服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到 Client 端和 Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是 Client/Server 形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的 Web應(yīng)用發(fā)展, Web和 Client/Server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。 [ 6] 用戶數(shù)據(jù)報協(xié)議 (UDP) UDP( User Datagram Protocol):用戶數(shù)據(jù)包協(xié)議,它和 TCP 一樣位于傳輸層,和 IP協(xié)議配合使用,在傳輸數(shù)據(jù)時省去包頭,但它不能提供數(shù)據(jù)包的重傳,所以適合傳輸較短的文件。 由于大多數(shù)網(wǎng)絡(luò)應(yīng)用程序都在同一臺機器 上運行,計算機上必須能夠確保目的地機器上的軟件程序能從源地址機器處獲得數(shù)據(jù)包,以及源計算機能收到正確的回復(fù)。這是通過使用 UDP 的 “ 端口號 ” 完成的。源端口號標(biāo)識了請求域名服務(wù)的本地機的應(yīng)用程序,同時需要將所有由目的站生成的響應(yīng)包都指定到源主機的這個端口上。與 TCP 不同, UDP 并不提供對 IP協(xié)議的可靠機制、流控制以及錯誤恢復(fù)功能等。由于 UDP比較簡單, UDP 頭包含很少的字節(jié),比 TCP負(fù)載消耗少 ,所以 UDP 適用于不需要 TCP 可靠機制的情形,比如,當(dāng)高層協(xié)議或應(yīng)用程序提供錯誤和流控制功能的時候。 UDP 是傳輸層協(xié)議, 服務(wù)于很多知名應(yīng)用層協(xié)議,包括網(wǎng)絡(luò)文件系統(tǒng)( NFS)、簡單網(wǎng)絡(luò)管理協(xié)議( SNMP)、域名系統(tǒng)( DNS)以及簡單文件傳輸系統(tǒng)( TFTP)。 [ 8] 單播、廣播、組播淺析 硬件組播( multicasting)是一種多點投遞的形式,它使用硬件技術(shù),通過使用大量組播地址來通信。當(dāng)某一組機器需要通信時,選擇一個組播地址,并配置好相應(yīng)的網(wǎng)絡(luò)接口硬件,識別組播地址,從而收到該組播地址上分組的拷貝 。 廣播( broadcasting)是多點投遞的最普遍的形式,它向每一個目的站投遞一個分組的拷貝。它可以通過多個單次分組的 投遞完成,也可以通過單獨的連接傳遞分組的拷貝,直到每個接收方均收到一個拷貝為止。 在多數(shù)網(wǎng)絡(luò)中,用戶是通過把分組分送給一個特殊保留的地址即廣播地址( broadcast address)來進(jìn)行廣播投遞,它的主要缺點是會耗費大量的主機資源和網(wǎng)絡(luò)資源。 12 單播( unexacting)是指只有一個目的地的數(shù)據(jù)報傳遞。從投遞目的地的數(shù)量而言,單播和廣播均可看作是組播的一個子集。單播可以看作僅包括一臺機器群組的組播;廣播可以看作包含了所有機器群組的組播。但從數(shù)據(jù)報的投遞方式而言,單播、廣播和組播還是有較大的區(qū)別。 [ 8] 13 4 系統(tǒng)設(shè)計 文字聊天模塊的整體構(gòu)架 本系統(tǒng)文字聊天是采用 C/S 結(jié)構(gòu),所以每個客戶端也作為服務(wù)器端,當(dāng)系統(tǒng)發(fā)送信息給局域網(wǎng)的用戶,主要由單播模塊和廣播模塊來實現(xiàn),而其中的單播模塊和用戶信息模塊是具有依賴性的,在接收信息的時候又有兩個模塊來完成,一是信息接收的模塊,另一個是信息查看的模塊。 ( 1).發(fā)送模塊:單播模塊,廣播模塊,用戶信息模塊,信息記錄模塊。 ( 2).接收模塊:接收信息模塊,查看信息模塊。 綜上所述,系統(tǒng)的架構(gòu)圖 如圖 2 所示 : 圖 2系統(tǒng)架構(gòu)圖 文件傳輸模塊的主要流程圖 由于本模塊采用 C/S架構(gòu)故將系統(tǒng)運行載體分為兩個部分:客戶端與服務(wù)器端。文件傳輸需要建立有效的連接后,通過 TCP/IP 協(xié)議實現(xiàn)點對點的文件傳輸。通信雙方是 通過三次握手建立連接,實現(xiàn)文字、文件傳輸,最后關(guān)閉套節(jié)字連接。 整個流程圖如 圖 3所示 : 圖 3 系統(tǒng)流程圖 14 系統(tǒng)主要功能模塊 系統(tǒng)的主登錄界面 由于系統(tǒng)的用戶設(shè)計是針對的用戶日?;顒樱菍iT從事計算機操作的人員,所以本系統(tǒng)力求界面友好、簡單,以便 給用戶提供一個舒適的使用環(huán)境。在文字聊天模塊的主要目標(biāo)是簡捷方便。 為了方便用戶選取單個用戶進(jìn)行信息發(fā)送和查看在線用戶的信息,所以設(shè)計了一個ListView 來進(jìn)行顯示如圖 4,在 ListView 中包括了用戶名、工作組、用戶級數(shù)等。當(dāng)有用戶打開本系統(tǒng)的時候?qū)蚓钟蚓W(wǎng)中的所有用戶發(fā)送一個握手信息來獲取網(wǎng)絡(luò)中的在線用戶信息并添加到列表中顯示出來,同時也把自己的網(wǎng)絡(luò)資源信息發(fā)送給對方,使自己被添加到其他用戶的列表中。 登錄界面 ,如圖 4 所示 : 圖 4 啟動主界面 在發(fā)送時將會把信息發(fā)送給在局域 網(wǎng)內(nèi)部的所有用戶包括自己。 選擇用戶并輸入發(fā)送信息, 單播發(fā)送的按鈕為 jmmenuitem8,主要是通過 Id UDP Server 和 Id UDP Client 組件來編寫的,由 client. Send Buffer 語句來發(fā)送的,主要是對局域網(wǎng)內(nèi)部的同一工作組用戶發(fā)送信息。 廣播發(fā)送的按鈕為 jmmenuitem9,主要是通過 Id UDP Server 和 Id UDP Client 組件來編寫的,主要是使用了 client. Broadcast 來對信息,如圖 5 所示: 15 圖 5 用戶選擇圖 其中 主要的代碼為: private void jMenuItem2ActionPerformed( evt) {// GENFIRST:event_jMenuItem2ActionPerformed // TODO add your handling code here: int selectLen。 if ((selectLen = ().length) 1) { (請選擇用戶! )。 return。 } else if (selectLen == 1) { User usr = ((String) .getSelectedValue())。 (this, 昵稱 : + () + + ip : + () + + 組別 : + () + + 主機 : + ())。 } else { Object[] o = ()。 User usr。 StringBuffer sb = new StringBuffer()。 16 (昵稱: ip:組別:主 機 + )。 for (int i = 0。 i 。 i++) { usr = ((String) o[i])。 (() + : + () + : + () + : + () + )。 } (this, ())。 } }// GENLAST:event_jMenuItem2ActionPerformed 文字聊天信息的封裝 封裝是一種把多次聊天的的數(shù)據(jù)捆綁在一起 ,使這兩者不受外界干擾和誤用的機制 .封裝可被理解為一種用做保護(hù)的包裝器 ,以防止代碼和數(shù)據(jù)被包裝器外部所定義的其他代碼任意訪問 .對包裝器內(nèi)部代碼與數(shù)據(jù)的訪問通過一個明確定義的接口來控制 .封裝代碼的好處是每個人都知道怎樣訪問代碼 ,進(jìn)而無需考慮實現(xiàn)細(xì)節(jié)就能直接使用它 ,同時不用擔(dān)心不可預(yù)料的副作用 . 程序插件自動生成封裝功能。并且在聊天過程中,封裝的過程仍在持續(xù),聊天的內(nèi)容是邊封裝數(shù)據(jù)包邊傳輸 。 發(fā)送信息接收界面,如圖 6 所示 圖 6接收界面 其中實現(xiàn)的主要代碼為: public class MsgDaemonServer extends Thread { 17 public MsgDaemonServer() { /*try { = new DatagramSocket()。 } catch (SocketException ex) { }*/ } @Override public void run() { try { byte[] buf = new byte[]。 DatagramPacket recv = new DatagramPacket(buf, )。 Command tmpCom。 while (true) { (recv)。 if(( ().getHostAddress()))continue。 byte[] buf2 = new byte[()]。 ((), 0, buf2, 0, ())。 if ((tmpCom = ( buf2, ().getHostAddress())) != null) { // (2+().getHostAddress())。 ()。 // (3+().getHostAddress())。 (tmpCom)。 ()。 } 18 } } catch (SocketException ex) { } catch (IOException ex) { } catch (InterruptedException ex) { }
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1