局域網(wǎng)飛鴿傳書軟件的設(shè)計與實現(xiàn)—計算機畢業(yè)設(shè)計.doc_第1頁
局域網(wǎng)飛鴿傳書軟件的設(shè)計與實現(xiàn)—計算機畢業(yè)設(shè)計.doc_第2頁
局域網(wǎng)飛鴿傳書軟件的設(shè)計與實現(xiàn)—計算機畢業(yè)設(shè)計.doc_第3頁
局域網(wǎng)飛鴿傳書軟件的設(shè)計與實現(xiàn)—計算機畢業(yè)設(shè)計.doc_第4頁
局域網(wǎng)飛鴿傳書軟件的設(shè)計與實現(xiàn)—計算機畢業(yè)設(shè)計.doc_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

畢畢 業(yè)業(yè) 設(shè)設(shè) 計計 論論 文文 局域網(wǎng)飛鴿傳書軟件的設(shè)計與實現(xiàn)局域網(wǎng)飛鴿傳書軟件的設(shè)計與實現(xiàn) 論文作者姓名 論文作者姓名 申請學(xué)位專業(yè) 申請學(xué)位專業(yè) 申請學(xué)位類別 申請學(xué)位類別 指指導(dǎo)導(dǎo)教教師師姓姓名名 職職稱稱 論文提交日期 論文提交日期 局域網(wǎng)飛鴿傳書軟件的設(shè)計與實現(xiàn)局域網(wǎng)飛鴿傳書軟件的設(shè)計與實現(xiàn) 摘摘 要要 網(wǎng)絡(luò)通訊在當(dāng)今已經(jīng)不算新鮮事物 但大多數(shù)網(wǎng)絡(luò)通訊都需要借助 Internet 上的服務(wù)器 這就給那些具有大規(guī)模內(nèi)部網(wǎng)絡(luò)的用戶造成了許多問題 如浪費網(wǎng)絡(luò)資源 遭遇到網(wǎng)絡(luò)攻擊 傳播的病毒 破壞防御系統(tǒng)等等 由于互 連網(wǎng)上的網(wǎng)絡(luò)通訊工具給企業(yè)內(nèi)部信息交流帶來了不便 所以為了方便內(nèi)部網(wǎng) 絡(luò)的用戶之間的溝通 需要開發(fā)一個基于局域網(wǎng)的信息收發(fā)系統(tǒng)的即時通訊工 具 實現(xiàn)在內(nèi)部網(wǎng)絡(luò)中進行信息的交流 本課題設(shè)計主要針對局域網(wǎng)通訊而開 發(fā)設(shè)計的 采用的是 C S 構(gòu)架 類似飛鴿傳書系統(tǒng) 來實現(xiàn)聊天 文件傳輸功 能 并借助一些網(wǎng)絡(luò)通訊組件 成功的實現(xiàn)了在局域網(wǎng)上的即時通訊 本論文的目標(biāo)是設(shè)計一個類似飛鴿傳輸?shù)木钟蚓W(wǎng)通信軟件 并分析它在其 領(lǐng)域的優(yōu)勢 本設(shè)計以 C 編寫 能在 windows 2000 net xp 等環(huán)境下運行 設(shè)計 共分為五大模塊 分別是 首先 介紹選題背景及意義和國內(nèi)外研究現(xiàn)狀 其 次 介紹 TCP IP 點對點協(xié)議技術(shù) C S 架構(gòu)和 SOCKET 網(wǎng)絡(luò)編程技術(shù) 再次 對當(dāng)前局域網(wǎng)文件傳輸進行需求分析并提出解決方案 然后 根據(jù)解決方案對 系統(tǒng)進行設(shè)計 最后 對工作計劃統(tǒng)計以及分析系統(tǒng)進行測試并得到測試結(jié)果 關(guān)鍵詞關(guān)鍵詞 聊天 傳輸 socket 飛鴿傳書 C S 結(jié)構(gòu) Design and Implementation IP Messenger Based on LAN Abstract The network communication already do not calculate the new things now but the majority network communication all need to be support by the server on the Internet this make these user have the large scale internal network who many problems such as waste network resources be attacked by network dissemination virus destruction defense system and so on Because the interconnection network communication facilities on the interior communication brought inconveniently for the enterprise in order to facilitate internal communication between network user s needs to develop one based on the local of instant message area network information receiving and dispatching system instant message facilities realizes carries on the information which network the exchange This topic design mainly aims at the local area network communication to develop the design uses is the C S skeleton like IP Messenger for chat and files transmission LAN against the text chat documents and folders transmission the design of a fake IP Messenger of LAN software and analyze it in their areas of advantage The design is developed by C program it can make in the cnvironment of windows 2000 net xp of topic selection in the environment The design altogether divides into five big modules respectively is First introduction selected topic background and significance and domestic and foreign research present situation Second introduces the TCP IP point to point protocol technology C S construction technique and sockt network programming technology Third carries on the demand of the current local area network file transfer to analyze and propose the solution Fourth carries on the design according to the solution to the system Fifth statistic the work plan awalys and test the system and obtains the testnesult Key words Chat transmission socket C S skeleton IP Messenger 目目 錄錄 論文總頁數(shù) 20 頁 1引言 1 1 1 課題背景 1 1 2 本課題主要研究背景 1 1 3 本課題主要研究思路和方法 1 1 4 研究項目的目的以及意義 2 1 5 WINSOCKET 的尋址方式 2 2系統(tǒng)需求分析 2 2 1 系統(tǒng)設(shè)計目標(biāo) 2 2 2 系統(tǒng)總體需求分析 3 2 3 組織結(jié)構(gòu)的分析 3 2 3 1 開發(fā)運行環(huán)境 3 2 3 2 系統(tǒng)開發(fā)語言 4 3理論知識 4 3 1 C S 軟件架構(gòu)技術(shù) 4 3 2 用戶數(shù)據(jù)報協(xié)議 UDP 4 3 3 單播 廣播 組播淺析 5 4系統(tǒng)設(shè)計 5 4 1 文字聊天模塊的整體構(gòu)架 5 4 2 文件傳輸模塊的主要流程圖 6 4 3 系統(tǒng)的主要功能模塊 6 4 3 1 文字聊天的主登錄界面 6 4 3 2 文字聊天信息的封裝 9 4 3 3 聊天信息的加鎖 10 4 3 4 文件傳輸?shù)慕缑?12 4 3 5 用戶密封或加鎖傳輸文件 15 5系統(tǒng)測試 17 5 1 測試環(huán)境 17 5 2 測試結(jié)果 17 結(jié) 論 17 參考文獻 18 致 謝 19 聲 明 20 第 1 頁 共 20 頁 1 1引言引言 1 11 1 課題背景課題背景 當(dāng)時間走向 21 世紀(jì) 當(dāng)今時代也由工業(yè)經(jīng)濟漸漸成為了知識經(jīng)濟 信息經(jīng) 濟的時代 信息的需求量的不停增加 促使了計算機通信的日新月異 雖然網(wǎng) 絡(luò)的使用頻率與使用的范圍都越來越廣泛 但是人們使用的網(wǎng)絡(luò)的用途主要的 還是只有兩個 1 相互之間的溝通 2 資源共享 局域網(wǎng)作為網(wǎng)絡(luò)的一個重要組成部分 它不但用戶與外界連接的樞紐 同 時也是近距離用戶之間溝通與資源共享的一個重要途徑 在這種情況下 如何 使局域網(wǎng)內(nèi)的用戶便捷的勾通 以及快速的資源共享 也就成為了人們對網(wǎng)絡(luò) 研究的重點之一 本系統(tǒng)仿飛鴿傳輸 是一個局域網(wǎng)內(nèi)的通迅工具 主要通過 Winsockt 完成 它據(jù)有的功能有 1 局域網(wǎng)內(nèi)用戶間簡單的文字聊天功能 2 局域網(wǎng)內(nèi)用戶間相互的文件 文件夾傳輸 1 21 2 本課題主要研究背景本課題主要研究背景 隨著計算機和通訊技術(shù)的發(fā)展 計算機的網(wǎng)絡(luò)化已經(jīng)滲透到各個應(yīng)用領(lǐng)域 尤其是以 TCP IP 協(xié)議之間的網(wǎng)絡(luò)互連發(fā)展很快 計算機應(yīng)用系統(tǒng)的開發(fā)由傳統(tǒng) 的單機方式轉(zhuǎn)向到了網(wǎng)絡(luò)環(huán)境的開發(fā) 大部分編程語言都提供了基于 Windows Sockets 網(wǎng)絡(luò)編程接口的 Win socket 控件 它使開發(fā) TCP IP 通訊變得簡單方便 網(wǎng)絡(luò)之間進行數(shù)據(jù)通訊時 使用地址來標(biāo)識網(wǎng)絡(luò)中的計算機 有了地址以 后 數(shù)據(jù)才會準(zhǔn)確地發(fā)送到地址所指向的計算機 TCP IP 協(xié)議使用 IP 地址為 網(wǎng)絡(luò)中計算機的標(biāo)識 而且每臺計算機的 IP 地址是唯一的 一般情況下 每臺 計算機運行的程序不止一個 因此要在應(yīng)用程序中建立連接的話 還需要一個 地址標(biāo)識 在 TCP IP 協(xié)議書中使用端口 PORT 作為計算機上運行的應(yīng)用程序的標(biāo)識 因此 TCP IP 協(xié)議中一個有效的網(wǎng)絡(luò)地址包括 IP 地址和端口地址兩個部分 TCP IP 協(xié)議提供了兩種計算機之間的通訊方式 TCP 方式和 UDP 方式 TCP 是一種面向連接的服務(wù) 在文件傳輸時會先行建立連接 通過鏈接提 供雙向 有序且無重復(fù)的數(shù)據(jù)流服務(wù) 以及流量控制 差錯檢測和糾錯等服務(wù) 從而確保文件傳輸?shù)恼_性 UDP 則是一種無連接的服務(wù) 它在傳輸文件時不 會確保傳輸端的文件能夠正確無誤的傳送到接收端 所以當(dāng)使用 UDP 時 通常 要自己作接收確認(rèn)的工作 第 2 頁 共 20 頁 1 31 3 本課題主要研究思路和方法本課題主要研究思路和方法 本系統(tǒng)的開發(fā)采用基于 win socket 的廣播發(fā)送模式 進行文字聊天和文件 文件夾傳輸?shù)脑O(shè)計與開發(fā) 因此 本設(shè)計首先分析該系統(tǒng)的相關(guān)功能 結(jié)合本 設(shè)計的相關(guān)要求寫出需求分析 其次 綜合運用以前所學(xué)的相關(guān)知識 選擇所 熟悉的開發(fā)工具進行本設(shè)計的開發(fā) 在設(shè)計中以需求分析為基礎(chǔ) 寫出系統(tǒng)開 發(fā)計劃 實現(xiàn)流程及相關(guān)問題的實現(xiàn)方法 最后 在系統(tǒng)開發(fā)完畢后 進行調(diào) 試和運行 做好調(diào)試和運行的相關(guān)記錄 1 41 4 研究項目的目的以及意義研究項目的目的以及意義 隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展 網(wǎng)絡(luò)給人們帶來了很多便利 比如人們借助 于網(wǎng)絡(luò)進行相互交流變得更加方便 聊天工具作為互聯(lián)網(wǎng)中運用最為廣泛的通 信工具之一 如今都已被廣大網(wǎng)民接受 很多人都使用過飛鴿傳書軟件 飛鴿 傳書發(fā)展到現(xiàn)在已經(jīng)具有了很多功能 有文字聊天 文件 文件夾傳輸?shù)幕?功能 也有密封 加鎖等較為復(fù)雜的功能 本畢業(yè)設(shè)計的目的主要是為了檢查 使學(xué)生綜合運用以前所學(xué)知識 包括以前所學(xué)的一些關(guān)于網(wǎng)絡(luò) 編程 信息安 全等知識 的能力 模擬局域網(wǎng)飛鴿傳書軟件 開發(fā)一個天系統(tǒng)軟件 本畢業(yè) 設(shè)計主要實現(xiàn)局域網(wǎng)內(nèi)文字聊天及文件傳輸?shù)裙δ?1 51 5 WinWin SocketSocket 的尋址方式的尋址方式 因為 Winsock 要兼容多個協(xié)議 所以必須使用通用的尋址方式 TCP IP 使用地址和端口號來指定一個地址 但是其它協(xié)議也許采用不同的形式 如果 Winsock 強迫使用特定的尋址方式 添加其他協(xié)議就不大可能了 在 Winsock 中 應(yīng)用程序員通過 SOCKADDR IN 結(jié)構(gòu)來指定 IP 地址和端口號 定義如下 Struct sockaddr in short sin family u short sin port struct in addr sin addr har sin zero 8 應(yīng)用程序可以使用 inet addr 函數(shù)將一個小數(shù)點分隔的十進制 IP 地址字符 串轉(zhuǎn)化成由 32 位二進制數(shù)表示的 IP 地址 inet ntoa 函數(shù)將一個網(wǎng)絡(luò)字節(jié)順 序的 32 位 IP 地址轉(zhuǎn)化字符串 注意 inet addr 返回的 32 位二進制數(shù)是用網(wǎng) 絡(luò)順序存儲的 第 3 頁 共 20 頁 2 2系統(tǒng)需求分析系統(tǒng)需求分析 2 12 1 系統(tǒng)設(shè)計目標(biāo)系統(tǒng)設(shè)計目標(biāo) 根據(jù)對飛鴿傳輸系統(tǒng)的調(diào)研 我認(rèn)為本設(shè)計需要滿足以下幾個系統(tǒng)設(shè)計目 標(biāo) 1 實用性原則 真正為局域網(wǎng)的實際工作服務(wù) 按照需求的輕重緩急 合 理設(shè)計本系統(tǒng) 2 可靠性原則 必須為用戶提供安全的服務(wù) 尤其是要保證傳輸?shù)姆€(wěn)定性 3 友好性原則 使用本系統(tǒng)的用戶相當(dāng)一部分對計算機知識了解很少 所 以系統(tǒng)操作上要求簡單方便 便于用戶掌握 4 可擴展性原則 采用開放的標(biāo)準(zhǔn)和接口 便于系統(tǒng)向更大的規(guī)模和功能 擴展 2 22 2 系統(tǒng)總體需求分析系統(tǒng)總體需求分析 根據(jù)用戶需求 本系統(tǒng)分為兩個子系統(tǒng) 局域網(wǎng)內(nèi)簡單文字聊天子系統(tǒng) 它是在局域網(wǎng)內(nèi)選擇相應(yīng)的用戶 以便對之發(fā)送文字信息 文件 文件夾 傳輸系統(tǒng) 它是在先把需要傳輸?shù)奈募?文件夾轉(zhuǎn)換成相就的數(shù)據(jù)流傳關(guān) 到 了目的主機再由之還原 本系統(tǒng)的文字聊天系統(tǒng)實現(xiàn)的功能類似于 用戶之 間的聊天 在設(shè)計系統(tǒng)時 應(yīng)根據(jù)簡潔 流暢的特點安排布局 在編制程序時 應(yīng)充分考慮這一點傳輸?shù)姆€(wěn)定 快捷 真正做到 簡潔 高效 流暢 安全 的使用環(huán)境 用戶使用的過程為 先是用戶登開啟本軟件 軟件自動檢索局域 網(wǎng)的其它用戶 并以之成為用戶列表 讓用戶選擇 當(dāng)用戶發(fā)現(xiàn)所要連接的用 戶之后 雙擊該用戶 則出現(xiàn)發(fā)送窗口 用戶用之來發(fā)送消息或者文件 接收 方可以選擇接收或者拒絕相應(yīng)的傳輸文件 2 32 3 組織結(jié)構(gòu)的分析組織結(jié)構(gòu)的分析 以下為組織結(jié)構(gòu)圖 圖 1 組織結(jié)構(gòu)圖 直接傳送 發(fā) 送 端 電 腦 選 擇 目 標(biāo) 電 腦 連 接 后 數(shù) 據(jù) 轉(zhuǎn) 換 加密傳送 數(shù) 據(jù) 轉(zhuǎn) 換 目 標(biāo) 主 機 第 4 頁 共 20 頁 2 3 12 3 1 開發(fā)運行環(huán)境開發(fā)運行環(huán)境 開發(fā)此系統(tǒng)所需的基本軟 硬件環(huán)境為 1 Windows95 Windows98 或 WindowsNT 2000 XP 2 Pentium100 及以上檔次的 IBM PC 及其兼容機 3 128M 以上內(nèi)存措施 4 1G 以上可用硬盤空間 5 VGA 顯示器 以上的配置均要求為在同一局域網(wǎng)內(nèi)的兩臺或兩臺以上 2 3 22 3 2 系統(tǒng)開發(fā)語言系統(tǒng)開發(fā)語言 本系統(tǒng)采用 VC VC 語言開發(fā) VC VC 是前些年迅速發(fā)展和推廣的一種計 算機語言 近年來 已經(jīng)相當(dāng)?shù)耐晟?它主要特點有兩個方面 一是全面兼容 C 二是支持面向?qū)ο虻姆椒?3 3理論知識理論知識 3 13 1 C SC S 軟件架構(gòu)技術(shù)軟件架構(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)用都可以進行同樣的業(yè)務(wù)處理 應(yīng)用不同的模塊共享邏輯組件 因此 內(nèi)部的和外部的用戶都可以訪問新的和 現(xiàn)有的應(yīng)用系統(tǒng) 通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴展出新的應(yīng)用系統(tǒng) 這也 就是目前應(yīng)用系統(tǒng)的發(fā)展方向 傳統(tǒng)的 C S 體系結(jié)構(gòu)雖然采用的是開放模式 但這只是系統(tǒng)開發(fā)一級的開 放性 在特定的應(yīng)用中無論是 Client 端還是 Server 端都還需要特定的軟件支 持 由于沒能提供用戶真正期望的開放環(huán)境 C S 結(jié)構(gòu)的軟件需要針對不同的 操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件 加之產(chǎn)品的更新?lián)Q代十分快 已經(jīng)很難適 應(yīng)百臺電腦以上局域網(wǎng)用戶同時使用 3 23 2 用戶數(shù)據(jù)報協(xié)議用戶數(shù)據(jù)報協(xié)議 UDP UDP UDP User Datagram Protocol 用戶數(shù)據(jù)包協(xié)議 它和 TCP 一樣位于傳 輸層 和 IP 協(xié)議配合使用 在傳輸數(shù)據(jù)時省去包頭 但它不能提供數(shù)據(jù)包的重 傳 所以適合傳輸較短的文件 由于大多數(shù)網(wǎng)絡(luò)應(yīng)用程序都在同一臺機器上運行 計算機上必須能夠確保 目的地機器上的軟件程序能從源地址機器處獲得數(shù)據(jù)包 以及源計算機能收到 第 5 頁 共 20 頁 正確的回復(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 3 33 3 單播 廣播 組播淺析單播 廣播 組播淺析 硬件組播 multicasting 是一種多點投遞的形式 它使用硬件技術(shù) 通 過使用大量組播地址來通信 當(dāng)某一組機器需要通信時 選擇一個組播地址 并配置好相應(yīng)的網(wǎng)絡(luò)接口硬件 識別組播地址 從而收到該組播地址上分組的 拷貝 廣播 broadcasting 是多點投遞的最普遍的形式 它向每一個目的站 投遞一個分組的拷貝 它可以通過多個單次分組的投遞完成 也可以通過單獨 的連接傳遞分組的拷貝 直到每個接收方均收到一個拷貝為止 在多數(shù)網(wǎng)絡(luò)中 用戶是通過把分組分送給一個特殊保留的地址即廣播地址 broadcast address 來進行廣播投遞 它的主要缺點是會耗費大量的主機資 源和網(wǎng)絡(luò)資源 單播 unexacting 是指只有一個目的地的數(shù)據(jù)報傳遞 從投遞目的地的 數(shù)量而言 單播和廣播均可看作是組播的一個子集 單播可以看作僅包括一臺 機器群組的組播 廣播可以看作包含了所有機器群組的組播 但從數(shù)據(jù)報的投 遞方式而言 單播 廣播和組播還是有較大的區(qū)別 4 4系統(tǒng)設(shè)計系統(tǒng)設(shè)計 本系統(tǒng)主要分為文字聊天和文件傳書兩大部分 所以本論文將把系統(tǒng)分成 兩大模塊來介紹 4 14 1 文字聊天模塊的整體構(gòu)架文字聊天模塊的整體構(gòu)架 本系統(tǒng)文字聊天是采用 C S 結(jié)構(gòu) 所以每個客戶端也是作為服務(wù)器端的 當(dāng)系統(tǒng)發(fā)送信息給局域網(wǎng)的用戶 主要由單播模塊和廣播模塊來實現(xiàn) 而其中 的單播模塊和用戶信息模塊是具有依賴性的 在接收信息的時候又有兩個模塊 來完成 一是信息接收的模塊 另一個是信息查看的模塊 由此可以看出本模塊主要分為兩模塊 發(fā)送模塊和接收模塊 發(fā)送模塊 單播模塊 廣播模塊 用戶信息模塊 信息記錄模塊接收模塊 接收信息模塊 查看信息模塊 綜上所述 系統(tǒng)的架構(gòu)圖為 第 6 頁 共 20 頁 圖 2 系統(tǒng)結(jié)構(gòu)圖 4 24 2 文件傳輸模塊的主要流程圖文件傳輸模塊的主要流程圖 由于本模塊采用 C S 架構(gòu)故將系統(tǒng)運行載體分為兩個部分 客戶端與服務(wù) 器端 文件傳輸需要建立有效的連接后 通過 TCP IP 協(xié)議實現(xiàn)點對點的文件傳 輸 通信雙方是通過三次握手建立連接 實現(xiàn)文字 文件傳輸 最后關(guān)閉套節(jié) 字連接 其傳輸?shù)恼麄€流程圖如下 圖 3 結(jié)構(gòu)流程圖 4 34 3 系統(tǒng)的主要功能模塊系統(tǒng)的主要功能模塊 4 3 14 3 1 文字聊天的主登錄界面文字聊天的主登錄界面 由于系統(tǒng)的用戶設(shè)計是針對的用戶日常活動 而非專門從事計算機操作的 人員 所以本系統(tǒng)力求界面友好 簡單 以便給用戶提供一個舒適的使用環(huán)境 系 統(tǒng) 主 界 面 顯示用戶信息 信息寫入 信息接收 單播發(fā)送 多播發(fā)送 查看信息 客戶端主機服務(wù)器端主機 tcp ip 套節(jié)字連接求連接響應(yīng) 3 次握手 寫入信息流接收文件流 sockt 流 并保存 斷開連接斷開連接響應(yīng) 3 次握手 第 7 頁 共 20 頁 在文字聊天模塊的主要目標(biāo)是簡捷 方便 為了方便用戶選取單個用戶進行信息發(fā)送和查看在線用戶的信息 所以設(shè) 計了一個 ListView 來進行顯示如圖 5 在 ListView 中包括了用戶名 工作組 用戶級數(shù)等 當(dāng)有用戶打開本系統(tǒng)的時候?qū)蚓钟蚓W(wǎng)中的所有用戶發(fā)送一個 握手信息來獲取網(wǎng)絡(luò)中的在線用戶信息并添加到列表中顯示出來 同時也把自 己的網(wǎng)絡(luò)資源信息發(fā)送給對方 使自己被添加到其他用戶的列表中 登錄界面 如圖 4 所示 圖 4 啟動主界面 進行發(fā)送的 在發(fā)送時將會把信息發(fā)送給在局域網(wǎng)內(nèi)部的所有用戶包括自 己 選擇用戶并輸入發(fā)送信息 單播發(fā)送的按鈕為 BitBtn2 主要是通過 Id UDP Server 和 Id UDP Client 組件來編寫的 由 client Send Buffer 語句來 發(fā)送的 主要是對局域網(wǎng)內(nèi)部的同一工作組用戶發(fā)送信息 廣播發(fā)送的按鈕為 BitBtn3 主要是通過 Id UDP Server 和 Id UDP Client 組件來編寫的 主要是使用了 client Broadcast 來對信息 如圖 5 所示 第 8 頁 共 20 頁 圖 5 用戶選擇圖 其中主要的代碼為 void TMsgApp InitWindow void WNDCLASSwc HWNDhWnd charclass name MAX PATH IPMSG CLASS tok msg p ULONGnicAddr 0 intport no atoi cmdLine if port no 0 port no IPMSG DEFAULT PORT if tok strchr cmdLine DWORDstatus 0 xffffffff if stricmp tok NIC 0 NIC if tok separate token NULL else if stricmp tok MSG 0 MsgMngmsgMng nicAddr port no ULONGcommand IPMSG SENDMSG IPMSG NOADDLISTOPT IPMSG NOLOGOPT destAddr 第 9 頁 共 20 頁 while tok separate token NULL else if stricmp tok SEAL 0 command IPMSG SECRETOPT if msg separate token NULL 0 if destAddr ResolveAddr tok NULL status msgMng Send destAddr htons port no command msg 0 1 if nicAddr 0 if diag MessageBox 0 ipmsg exe portno MSG LOG SEAL r nipmsg exe portno NIC nic addr MSG STR MB OK ExitProcess status return 4 3 24 3 2 文字聊天信息的封裝文字聊天信息的封裝 封裝是一種把多次聊天的的數(shù)據(jù)捆綁在一起 使這兩者不受外界干擾和誤用 的機制 封裝可被理解為一種用做保護的包裝器 以防止代碼和數(shù)據(jù)被包裝器外 部所定義的其他代碼任意訪問 對包裝器內(nèi)部代碼與數(shù)據(jù)的訪問通過一個明確定 義的接口來控制 封裝代碼的好處是每個人都知道怎樣訪問代碼 進而無需考慮 實現(xiàn)細(xì)節(jié)就能直接使用它 同時不用擔(dān)心不可預(yù)料的副作用 用戶密封只需選擇 seal 選項 程序插件自動生成封裝功能 并且在聊天過 程中 封裝的過程仍在持續(xù) 聊天的內(nèi)容是邊封裝數(shù)據(jù)包邊傳輸 密封發(fā)送信息接收界面 如圖 6 所示 第 10 頁 共 20 頁 圖 6 接收界面 在點擊 open 后顯示信息 其中實現(xiàn)的主要代碼為 BOOL TApp PreProcMsg MSG msg for TranslateAccel hWnd NULL hWnd GetParent hWnd TWin win SearchWnd hWnd if win NULL returnwin PreProcMsg msg returnFALSE LRESULT CALLBACK TApp WinProc HWND hWnd UINT uMsg WPARAM wParam LPARAM lParam TWin win SearchWnd hWnd if win returnwin WinProc uMsg wParam lParam if win preWnd NULL preWnd NULL 第 11 頁 共 20 頁 AddWinByWnd win hWnd returnwin WinProc uMsg wParam lParam returnDefWindowProc hWnd uMsg wParam lParam 4 3 34 3 3 聊天信息的加鎖聊天信息的加鎖 加鎖名如其實 其作用主要在于使傳送的信息或者文件 文件夾只能給有 password 的用戶看 從而加強了信息的安全程度 在現(xiàn)在這個網(wǎng)絡(luò)黑客泛濫的 時代 為了保護信息的隱私 加鎖就更加必要了 以下為加鎖信息的主要界面 在加鎖后的信息接收界面 如圖 7 所示 圖 7 聊天信息加鎖后界面 點擊確定后顯示 如圖 8 所示 第 12 頁 共 20 頁 圖 8 開鎖界面 其中主要代碼為 BOOL TRegistry DeleteChildTree LPSTR subKey charbuf 100 BOOL ret TRUE if subKey NULL while EnumKey 0 buf sizeof buf if ret DeleteChildTree buf TRUE break if subKey NULL CloseKey ret DeleteKey subKey ret FALSE else while EnumValue 0 buf sizeof buf if DeleteValue buf TRUE ret FALSE 第 13 頁 共 20 頁 break returnret 4 3 44 3 4 文件傳輸?shù)慕缑嫖募鬏數(shù)慕缑?與文字聊天一樣 系統(tǒng)的文件 文件夾傳輸模塊也盡量地要求簡單易行 便于操作 當(dāng)然 作為文件的傳輸 速度和安全也就成為了重要的問題 系統(tǒng) 的簡單加鎖能達到局域網(wǎng)較為單一的環(huán)境要求 文件傳輸?shù)倪^程中流程為首先客端的主機通過 TCP IP 協(xié)議建立鏈接 然后 客戶機發(fā)送套節(jié)字請求 通過 3 次握手連接響應(yīng) 再轉(zhuǎn)換數(shù)據(jù)為 socket 流傳送 最近通過 3 次握手?jǐn)嚅_連接響應(yīng) 選擇用戶并拖入相應(yīng)所要傳送的文件及文件夾 如圖 9 所示 圖 9 文件傳輸界面 點擊所發(fā)送的文件為文件另存為 界面如圖 10 所示 第 14 頁 共 20 頁 圖 10 選擇存儲路徑 選擇路徑確定后 文件開始傳輸 其傳送界面 如圖 11 所示 圖 11 文件傳輸中 實現(xiàn)的主要代碼為 void TSendDlg InitializeHeader void intorder MAX SENDWIDTH intrevItems MAX SENDWIDTH while maxItems 0 SendDlgItemMessage HOST LIST LVM DELETECOLUMN maxItems 0 ColumnItems cfg ColumnItems for int cnt 0 cnt MAX SENDWIDTH cnt if GetItem ColumnItems cnt items maxItems cnt revItems cnt maxItems intorderCnt 0 for cnt 0 cnt GlidLineCheck style LVS EX GRIDLINES else style SendDlgItemMessage HOST LIST LVM SETEXTENDEDLISTVIEWSTYLE 0 style static char headerStr MAX SENDWIDTH 4 3 54 3 5 用戶密封或加鎖傳輸文件用戶密封或加鎖傳輸文件 文件傳輸模塊實現(xiàn)主要依靠發(fā)送端與接收端建立有效的連接后 客戶端不 斷地向 SOCKET 寫入文件流 服務(wù)器端不斷接受來自客戶端的 SOCKET 文件流 直到文件傳輸完畢關(guān)閉套節(jié)字連接并釋放空間 密封和加鎖主要是通過程序的插件對所傳送的文件加以密封 加密 以便 確保文件的安全性 點擊 open files 按鈕 界面如圖 12 所示 第 16 頁 共 20 頁 圖 12 文件傳輸界面 用戶接收到加鎖的文件 圖 13 加鎖信息接收界面 其中主要代碼為 BOOL TRegistry DeleteChildTree LPSTR subKey charbuf 100 BOOL ret TRUE if subKey NULL while EnumKey 0 buf sizeof buf if ret DeleteChildTree buf TRUE 第 17 頁 共 20 頁 break if subKey NULL CloseKey ret DeleteKey subKey ret FALSE else while EnumValue 0 buf sizeof buf if DeleteValue buf TRUE ret FALSE break returnret 5 5系統(tǒng)測試系統(tǒng)測試 5 15 1 測試環(huán)境測試環(huán)境 簡單含有兩臺或者兩臺以上主機的局域網(wǎng)一個 主機的最低配置 CPU PIII8000 內(nèi)存 SDRAM 64M WIN2000 XP 9X 2003 下均測試通過 建議用戶 CPU PIII 內(nèi)存 256M 及以上 5 25 2 測試結(jié)果測試結(jié)果 系統(tǒng)在上述軟硬件環(huán)境下對此系統(tǒng)各個子模塊功能作出測試 結(jié)果基本能 夠達到預(yù)期功能 結(jié)結(jié) 論論 隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展 網(wǎng)絡(luò)給人們帶來了很多便利 局域網(wǎng)以其快 捷的速度 優(yōu)異的準(zhǔn)確率始終在溝通和資源共享方面占有一席之地 局域網(wǎng)內(nèi) 的文字聊天以及文件 文件夾的傳輸?shù)墓ぞ咴缫呀?jīng)為人們所創(chuàng)造和使用 主要工作 1 熟悉業(yè)務(wù)流程 進一步分析需求 了解程序的業(yè)務(wù)流程和客戶的需求 為分析管理需求打下基礎(chǔ) 第 18 頁 共 20 頁 2 研究并設(shè)計飛鴿傳書系統(tǒng)的功能組成 它的核心是 聊 傳 因此確定 系統(tǒng)的基本功能就是聊天和文件傳送 3 學(xué)習(xí)借鑒其它優(yōu)秀軟件 取長補短 可以使系統(tǒng)的開發(fā)過程少走彎路 4 收集資料 為系統(tǒng)實現(xiàn)做準(zhǔn)備 5 設(shè)計完成系統(tǒng)軟件 選擇適當(dāng)?shù)脑O(shè)計軟件 主要得用 win socket 控件的 主要功能 由于時間比較倉促 個人開發(fā)能力也有限 系統(tǒng)還存在一些其它的 技術(shù)性問題 還需在今后的實踐中不斷總結(jié)和改善 以提高系統(tǒng)技術(shù)含量和研 究價值 增強自身開發(fā)能力 參考文獻參考文獻 1 Andrew S Tanenbaum 計算機網(wǎng)絡(luò) M 北京 清華大學(xué)出版社 1998 2 Anonymous 網(wǎng)絡(luò)最高安全技術(shù)指南 M 北京 機械工業(yè)出版社 1998 3 David A Solomon Windows NT 技術(shù)內(nèi)幕 M 北京 清華大學(xué)出版社 1999 4 Douglas E Comer TCP IP 網(wǎng)絡(luò)互連技術(shù) M 北京 清華大學(xué)出版社 1998 5 David J Kruglinski Visual C 技術(shù)內(nèi)幕 M 北京 清華大學(xué)出版社 1999 6 梁普選 Visual C 序設(shè)計與實踐 北京 清華大學(xué)出版社 2005 第 19 頁 共 20 頁 致致 謝謝 本文是在劉永紅老師的熱情關(guān)心和指導(dǎo)下完成的 他淵博的知識和嚴(yán)謹(jǐn)?shù)?治學(xué)作風(fēng)使我受益匪淺 對順利完成本課題起到了極大的作用 在此向他表示 我最衷心的感謝 在論文完成過程中 本人還得到了韓斌老師和鄭帥同學(xué)的熱心幫助 本人 向他們表示深深的謝意 最后向在百忙之中評審本文的各位專家 老師表示衷心的感謝 作者簡介 姓 名 張路長 性別 男 出生年月 1984 3 民族 漢 E mail luchang zhang 聲聲 明明 本論文的工作是 2007 年 2 月至 2007 年 6 月在成都信息工程學(xué)院網(wǎng)絡(luò)工程 系完成的 文中除了特別加以標(biāo)注地方外 不包含他人已經(jīng)發(fā)表或撰寫過的研 究成果 也不包含為獲得成都信息工程學(xué)院或其他教學(xué)機構(gòu)的學(xué)位或證書而使 用過的材料 除非另有說明 本文的工作是原始性工作 關(guān)于學(xué)位論文使用權(quán)和研究成果知識產(chǎn)權(quán)的說明 本人完全了解成都信息工程學(xué)院有關(guān)保管使用學(xué)位論文的規(guī)定 其中包括 1 學(xué)校有權(quán)保管并向有關(guān)部門遞交學(xué)位論文的原件與復(fù)印件 2 學(xué)??梢圆捎糜坝?縮印或其他復(fù)制方式保存學(xué)位論文 3 學(xué)??梢詫W(xué)術(shù)交流為目的復(fù)制 贈送和交換學(xué)位論文 4 學(xué)校可允許學(xué)位論文被查閱或借閱 5 學(xué)校可以公布學(xué)位論文的全部或部分內(nèi)容 保密學(xué)位論文在解密后遵 守此規(guī)定 除非另有科研合同和其他法律文書的制約 本論文的科研成果屬于成都信 息工程學(xué)院 特此聲明 作者簽名 年 月 日 第 1 頁 共 53 頁 畢畢 業(yè)業(yè) 設(shè)設(shè) 計計 論論 文文 局域網(wǎng)飛鴿傳書軟件的設(shè)計與實現(xiàn)局域網(wǎng)飛鴿傳書軟件的設(shè)計與實現(xiàn) 論文作者姓名 論文作者姓名 申請學(xué)位專業(yè) 申請學(xué)位專業(yè) 申請學(xué)位類別 申請學(xué)位類別 指指導(dǎo)導(dǎo)教教師師姓姓名名 職職稱稱 論文提交日期 論文提交日期 局域網(wǎng)飛鴿傳書軟件的設(shè)計與實現(xiàn)局域網(wǎng)飛鴿傳書軟件的設(shè)計與實現(xiàn) 摘摘 要要 網(wǎng)絡(luò)通訊在當(dāng)今已經(jīng)不算新鮮事物 但大多數(shù)網(wǎng)絡(luò)通訊都需要借助 Internet 上的服務(wù)器 這就給那些具有大規(guī)模內(nèi)部網(wǎng)絡(luò)的用戶造成了許多問題 如浪費網(wǎng)絡(luò)資源 遭遇到網(wǎng)絡(luò)攻擊 傳播的病毒 破壞防御系統(tǒng)等等 由于互 連網(wǎng)上的網(wǎng)絡(luò)通訊工具給企業(yè)內(nèi)部信息交流帶來了不便 所以為了方便內(nèi)部網(wǎng) 絡(luò)的用戶之間的溝通 需要開發(fā)一個基于局域網(wǎng)的信息收發(fā)系統(tǒng)的即時通訊工 具 實現(xiàn)在內(nèi)部網(wǎng)絡(luò)中進行信息的交流 本課題設(shè)計主要針對局域網(wǎng)通訊而開 發(fā)設(shè)計的 采用的是 C S 構(gòu)架 類似飛鴿傳書系統(tǒng) 來實現(xiàn)聊天 文件傳輸功 能 并借助一些網(wǎng)絡(luò)通訊組件 成功的實現(xiàn)了在局域網(wǎng)上的即時通訊 本論文的目標(biāo)是設(shè)計一個類似飛鴿傳輸?shù)木钟蚓W(wǎng)通信軟件 并分析它在其 領(lǐng)域的優(yōu)勢 本設(shè)計以 C 編寫 能在 windows 2000 net xp 等環(huán)境下運行 設(shè)計 共分為五大模塊 分別是 首先 介紹選題背景及意義和國內(nèi)外研究現(xiàn)狀 其 次 介紹 TCP IP 點對點協(xié)議技術(shù) C S 架構(gòu)和 SOCKET 網(wǎng)絡(luò)編程技術(shù) 再次 對當(dāng)前局域網(wǎng)文件傳輸進行需求分析并提出解決方案 然后 根據(jù)解決方案對 系統(tǒng)進行設(shè)計 最后 對工作計劃統(tǒng)計以及分析系統(tǒng)進行測試并得到測試結(jié)果 關(guān)鍵詞關(guān)鍵詞 聊天 傳輸 socket 飛鴿傳書 C S 結(jié)構(gòu) Design and Implementation IP Messenger Based on LAN Abstract The network communication already do not calculate the new things now but the majority network communication all need to be support by the server on the Internet this make these user have the large scale internal network who many problems such as waste network resources be attacked by network dissemination virus destruction defense system and so on Because the interconnection network communication facilities on the interior communication brought inconveniently for the enterprise in order to facilitate internal communication between network user s needs to develop one based on the local of instant message area network information receiving and dispatching system instant message facilities realizes carries on the information which network the exchange This topic design mainly aims at the local area network communication to develop the design uses is the C S skeleton like IP Messenger for chat and files transmission LAN against the text chat documents and folders transmission the design of a fake IP Messenger of LAN software and analyze it in their areas of advantage The design is developed by C program it can make in the cnvironment of windows 2000 net xp of topic selection in the environment The design altogether divides into five big modules respectively is First introduction selected topic background and significance and domestic and foreign research present situation Second introduces the TCP IP point to point protocol technology C S construction technique and sockt network programming technology Third carries on the demand of the current local area network file transfer to analyze and propose the solution Fourth carries on the design according to the solution to the system Fifth statistic the work plan awalys and test the system and obtains the testnesult Key words Chat transmission socket C S skeleton IP Messenger 目目 錄錄 論文總頁數(shù) 20 頁 1引言 1 1 1 課題背景 1 1 2 本課題主要研究背景 1 1 3 本課題主要研究思路和方法 1 1 4 研究項目的目的以及意義 2 1 5 WINSOCKET 的尋址方式 2 2系統(tǒng)需求分析 2 2 1 系統(tǒng)設(shè)計目標(biāo) 2 2 2 系統(tǒng)總體需求分析 3 2 3 組織結(jié)構(gòu)的分析 3 2 3 1 開發(fā)運行環(huán)境 3 2 3 2 系統(tǒng)開發(fā)語言 4 3理論知識 4 3 1 C S 軟件架構(gòu)技術(shù) 4 3 2 用戶數(shù)據(jù)報協(xié)議 UDP 4 3 3 單播 廣播 組播淺析 5 4系統(tǒng)設(shè)計 5 4 1 文字聊天模塊的整體構(gòu)架 5 4 2 文件傳輸模塊的主要流程圖 6 4 3 系統(tǒng)的主要功能模塊 6 4 3 1 文字聊天的主登錄界面 6 4 3 2 文字聊天信息的封裝 9 4 3 3 聊天信息的加鎖 10 4 3 4 文件傳輸?shù)慕缑?12 4 3 5 用戶密封或加鎖傳輸文件 15 5系統(tǒng)測試 17 5 1 測試環(huán)境 17 5 2 測試結(jié)果 17 結(jié) 論 17 參考文獻 18 致 謝 19 聲 明 20 第 1 頁 共 20 頁 6 6引言引言 1 11 1 課題背景課題背景 當(dāng)時間走向 21 世紀(jì) 當(dāng)今時代也由工業(yè)經(jīng)濟漸漸成為了知識經(jīng)濟 信息經(jīng) 濟的時代 信息的需求量的不停增加 促使了計算機通信的日新月異 雖然網(wǎng) 絡(luò)的使用頻率與使用的范圍都越來越廣泛 但是人們使用的網(wǎng)絡(luò)的用途主要的 還是只有兩個 1 相互之間的溝通 2 資源共享 局域網(wǎng)作為網(wǎng)絡(luò)的一個重要組成部分 它不但用戶與外界連接的樞紐 同 時也是近距離用戶之間溝通與資源共享的一個重要途徑 在這種情況下 如何 使局域網(wǎng)內(nèi)的用戶便捷的勾通 以及快速的資源共享 也就成為了人們對網(wǎng)絡(luò) 研究的重點之一 本系統(tǒng)仿飛鴿傳輸 是一個局域網(wǎng)內(nèi)的通迅工具 主要通過 Winsockt 完成 它據(jù)有的功能有 1 局域網(wǎng)內(nèi)用戶間簡單的文字聊天功能 2 局域網(wǎng)內(nèi)用戶間相互的文件 文件夾傳輸 1 21 2 本課題主要研究背景本課題主要研究背景 隨著計算機和通訊技術(shù)的發(fā)展 計算機的網(wǎng)絡(luò)化已經(jīng)滲透到各個應(yīng)用領(lǐng)域 尤其是以 TCP IP 協(xié)議之間的網(wǎng)絡(luò)互連發(fā)展很快 計算機應(yīng)用系統(tǒng)的開發(fā)由傳統(tǒng) 的單機方式轉(zhuǎn)向到了網(wǎng)絡(luò)環(huán)境的開發(fā) 大部分編程語言都提供了基于 Windows Sockets 網(wǎng)絡(luò)編程接口的 Win socket 控件 它使開發(fā) TCP IP 通訊變得簡單方便 網(wǎng)絡(luò)之間進行數(shù)據(jù)通訊時 使用地址來標(biāo)識網(wǎng)絡(luò)中的計算機 有了地址以 后 數(shù)據(jù)才會準(zhǔn)確地發(fā)送到地址所指向的計算機 TCP IP 協(xié)議使用 IP 地址為 網(wǎng)絡(luò)中計算機的標(biāo)識 而且每臺計算機的 IP 地址是唯一的 一般情況下 每臺 計算機運行的程序不止一個 因此要在應(yīng)用程序中建立連接的話 還需要一個 地址標(biāo)識 在 TCP IP 協(xié)議書中使用端口 PORT 作為計算機上運行的應(yīng)用程序的標(biāo)識 因此 TCP IP 協(xié)議中一個有效的網(wǎng)絡(luò)地址包括 IP 地址和端口地址兩個部分 TCP IP 協(xié)議提供了兩種計算機之間的通訊方式 TCP 方式和 UDP 方式 TCP 是一種面向連接的服務(wù) 在文件傳輸時會先行建立連接 通過鏈接提 供雙向 有序且無重復(fù)的數(shù)據(jù)流服務(wù) 以及流量控制 差錯檢測和糾錯等服務(wù) 從而確保文件傳輸?shù)恼_性 UDP 則是一種無連接的服務(wù) 它在傳輸文件時不 會確保傳輸端的文件能夠正確無誤的傳送到接收端 所以當(dāng)使用 UDP 時 通常 要自己作接收確認(rèn)的工作 第 2 頁 共 20 頁 1 31 3 本課題主要研究思路和方法本課題主要研究思路和方法 本系統(tǒng)的開發(fā)采用基于 win socket 的廣播發(fā)送模式 進行文字聊天和文件 文件夾傳輸?shù)脑O(shè)計與開發(fā) 因此 本設(shè)計首先分析該系統(tǒng)的相關(guān)功能 結(jié)合本 設(shè)計的相關(guān)要求寫出需求分析 其次 綜合運用以前所學(xué)的相關(guān)知識 選擇所 熟悉的開發(fā)工具進行本設(shè)計的開發(fā) 在設(shè)計中以需求分析為基礎(chǔ) 寫出系統(tǒng)開 發(fā)計劃 實現(xiàn)流程及相關(guān)問題的實現(xiàn)方法 最后 在系統(tǒng)開發(fā)完畢后 進行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論