局域網飛鴿傳書軟件的設計與實現—計算機畢業(yè)設計.doc_第1頁
局域網飛鴿傳書軟件的設計與實現—計算機畢業(yè)設計.doc_第2頁
局域網飛鴿傳書軟件的設計與實現—計算機畢業(yè)設計.doc_第3頁
局域網飛鴿傳書軟件的設計與實現—計算機畢業(yè)設計.doc_第4頁
局域網飛鴿傳書軟件的設計與實現—計算機畢業(yè)設計.doc_第5頁
免費預覽已結束,剩余48頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

畢畢 業(yè)業(yè) 設設 計計 論論 文文 局域網飛鴿傳書軟件的設計與實現局域網飛鴿傳書軟件的設計與實現 論文作者姓名 論文作者姓名 申請學位專業(yè) 申請學位專業(yè) 申請學位類別 申請學位類別 指指導導教教師師姓姓名名 職職稱稱 論文提交日期 論文提交日期 局域網飛鴿傳書軟件的設計與實現局域網飛鴿傳書軟件的設計與實現 摘摘 要要 網絡通訊在當今已經不算新鮮事物 但大多數網絡通訊都需要借助 Internet 上的服務器 這就給那些具有大規(guī)模內部網絡的用戶造成了許多問題 如浪費網絡資源 遭遇到網絡攻擊 傳播的病毒 破壞防御系統(tǒng)等等 由于互 連網上的網絡通訊工具給企業(yè)內部信息交流帶來了不便 所以為了方便內部網 絡的用戶之間的溝通 需要開發(fā)一個基于局域網的信息收發(fā)系統(tǒng)的即時通訊工 具 實現在內部網絡中進行信息的交流 本課題設計主要針對局域網通訊而開 發(fā)設計的 采用的是 C S 構架 類似飛鴿傳書系統(tǒng) 來實現聊天 文件傳輸功 能 并借助一些網絡通訊組件 成功的實現了在局域網上的即時通訊 本論文的目標是設計一個類似飛鴿傳輸的局域網通信軟件 并分析它在其 領域的優(yōu)勢 本設計以 C 編寫 能在 windows 2000 net xp 等環(huán)境下運行 設計 共分為五大模塊 分別是 首先 介紹選題背景及意義和國內外研究現狀 其 次 介紹 TCP IP 點對點協(xié)議技術 C S 架構和 SOCKET 網絡編程技術 再次 對當前局域網文件傳輸進行需求分析并提出解決方案 然后 根據解決方案對 系統(tǒng)進行設計 最后 對工作計劃統(tǒng)計以及分析系統(tǒng)進行測試并得到測試結果 關鍵詞關鍵詞 聊天 傳輸 socket 飛鴿傳書 C S 結構 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 目目 錄錄 論文總頁數 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)設計目標 2 2 2 系統(tǒng)總體需求分析 3 2 3 組織結構的分析 3 2 3 1 開發(fā)運行環(huán)境 3 2 3 2 系統(tǒng)開發(fā)語言 4 3理論知識 4 3 1 C S 軟件架構技術 4 3 2 用戶數據報協(xié)議 UDP 4 3 3 單播 廣播 組播淺析 5 4系統(tǒng)設計 5 4 1 文字聊天模塊的整體構架 5 4 2 文件傳輸模塊的主要流程圖 6 4 3 系統(tǒng)的主要功能模塊 6 4 3 1 文字聊天的主登錄界面 6 4 3 2 文字聊天信息的封裝 9 4 3 3 聊天信息的加鎖 10 4 3 4 文件傳輸的界面 12 4 3 5 用戶密封或加鎖傳輸文件 15 5系統(tǒng)測試 17 5 1 測試環(huán)境 17 5 2 測試結果 17 結 論 17 參考文獻 18 致 謝 19 聲 明 20 第 1 頁 共 20 頁 1 1引言引言 1 11 1 課題背景課題背景 當時間走向 21 世紀 當今時代也由工業(yè)經濟漸漸成為了知識經濟 信息經 濟的時代 信息的需求量的不停增加 促使了計算機通信的日新月異 雖然網 絡的使用頻率與使用的范圍都越來越廣泛 但是人們使用的網絡的用途主要的 還是只有兩個 1 相互之間的溝通 2 資源共享 局域網作為網絡的一個重要組成部分 它不但用戶與外界連接的樞紐 同 時也是近距離用戶之間溝通與資源共享的一個重要途徑 在這種情況下 如何 使局域網內的用戶便捷的勾通 以及快速的資源共享 也就成為了人們對網絡 研究的重點之一 本系統(tǒng)仿飛鴿傳輸 是一個局域網內的通迅工具 主要通過 Winsockt 完成 它據有的功能有 1 局域網內用戶間簡單的文字聊天功能 2 局域網內用戶間相互的文件 文件夾傳輸 1 21 2 本課題主要研究背景本課題主要研究背景 隨著計算機和通訊技術的發(fā)展 計算機的網絡化已經滲透到各個應用領域 尤其是以 TCP IP 協(xié)議之間的網絡互連發(fā)展很快 計算機應用系統(tǒng)的開發(fā)由傳統(tǒng) 的單機方式轉向到了網絡環(huán)境的開發(fā) 大部分編程語言都提供了基于 Windows Sockets 網絡編程接口的 Win socket 控件 它使開發(fā) TCP IP 通訊變得簡單方便 網絡之間進行數據通訊時 使用地址來標識網絡中的計算機 有了地址以 后 數據才會準確地發(fā)送到地址所指向的計算機 TCP IP 協(xié)議使用 IP 地址為 網絡中計算機的標識 而且每臺計算機的 IP 地址是唯一的 一般情況下 每臺 計算機運行的程序不止一個 因此要在應用程序中建立連接的話 還需要一個 地址標識 在 TCP IP 協(xié)議書中使用端口 PORT 作為計算機上運行的應用程序的標識 因此 TCP IP 協(xié)議中一個有效的網絡地址包括 IP 地址和端口地址兩個部分 TCP IP 協(xié)議提供了兩種計算機之間的通訊方式 TCP 方式和 UDP 方式 TCP 是一種面向連接的服務 在文件傳輸時會先行建立連接 通過鏈接提 供雙向 有序且無重復的數據流服務 以及流量控制 差錯檢測和糾錯等服務 從而確保文件傳輸的正確性 UDP 則是一種無連接的服務 它在傳輸文件時不 會確保傳輸端的文件能夠正確無誤的傳送到接收端 所以當使用 UDP 時 通常 要自己作接收確認的工作 第 2 頁 共 20 頁 1 31 3 本課題主要研究思路和方法本課題主要研究思路和方法 本系統(tǒng)的開發(fā)采用基于 win socket 的廣播發(fā)送模式 進行文字聊天和文件 文件夾傳輸的設計與開發(fā) 因此 本設計首先分析該系統(tǒng)的相關功能 結合本 設計的相關要求寫出需求分析 其次 綜合運用以前所學的相關知識 選擇所 熟悉的開發(fā)工具進行本設計的開發(fā) 在設計中以需求分析為基礎 寫出系統(tǒng)開 發(fā)計劃 實現流程及相關問題的實現方法 最后 在系統(tǒng)開發(fā)完畢后 進行調 試和運行 做好調試和運行的相關記錄 1 41 4 研究項目的目的以及意義研究項目的目的以及意義 隨著互聯(lián)網技術的迅猛發(fā)展 網絡給人們帶來了很多便利 比如人們借助 于網絡進行相互交流變得更加方便 聊天工具作為互聯(lián)網中運用最為廣泛的通 信工具之一 如今都已被廣大網民接受 很多人都使用過飛鴿傳書軟件 飛鴿 傳書發(fā)展到現在已經具有了很多功能 有文字聊天 文件 文件夾傳輸的基本 功能 也有密封 加鎖等較為復雜的功能 本畢業(yè)設計的目的主要是為了檢查 使學生綜合運用以前所學知識 包括以前所學的一些關于網絡 編程 信息安 全等知識 的能力 模擬局域網飛鴿傳書軟件 開發(fā)一個天系統(tǒng)軟件 本畢業(yè) 設計主要實現局域網內文字聊天及文件傳輸等功能 1 51 5 WinWin SocketSocket 的尋址方式的尋址方式 因為 Winsock 要兼容多個協(xié)議 所以必須使用通用的尋址方式 TCP IP 使用地址和端口號來指定一個地址 但是其它協(xié)議也許采用不同的形式 如果 Winsock 強迫使用特定的尋址方式 添加其他協(xié)議就不大可能了 在 Winsock 中 應用程序員通過 SOCKADDR IN 結構來指定 IP 地址和端口號 定義如下 Struct sockaddr in short sin family u short sin port struct in addr sin addr har sin zero 8 應用程序可以使用 inet addr 函數將一個小數點分隔的十進制 IP 地址字符 串轉化成由 32 位二進制數表示的 IP 地址 inet ntoa 函數將一個網絡字節(jié)順 序的 32 位 IP 地址轉化字符串 注意 inet addr 返回的 32 位二進制數是用網 絡順序存儲的 第 3 頁 共 20 頁 2 2系統(tǒng)需求分析系統(tǒng)需求分析 2 12 1 系統(tǒng)設計目標系統(tǒng)設計目標 根據對飛鴿傳輸系統(tǒng)的調研 我認為本設計需要滿足以下幾個系統(tǒng)設計目 標 1 實用性原則 真正為局域網的實際工作服務 按照需求的輕重緩急 合 理設計本系統(tǒng) 2 可靠性原則 必須為用戶提供安全的服務 尤其是要保證傳輸的穩(wěn)定性 3 友好性原則 使用本系統(tǒng)的用戶相當一部分對計算機知識了解很少 所 以系統(tǒng)操作上要求簡單方便 便于用戶掌握 4 可擴展性原則 采用開放的標準和接口 便于系統(tǒng)向更大的規(guī)模和功能 擴展 2 22 2 系統(tǒng)總體需求分析系統(tǒng)總體需求分析 根據用戶需求 本系統(tǒng)分為兩個子系統(tǒng) 局域網內簡單文字聊天子系統(tǒng) 它是在局域網內選擇相應的用戶 以便對之發(fā)送文字信息 文件 文件夾 傳輸系統(tǒng) 它是在先把需要傳輸的文件 文件夾轉換成相就的數據流傳關 到 了目的主機再由之還原 本系統(tǒng)的文字聊天系統(tǒng)實現的功能類似于 用戶之 間的聊天 在設計系統(tǒng)時 應根據簡潔 流暢的特點安排布局 在編制程序時 應充分考慮這一點傳輸的穩(wěn)定 快捷 真正做到 簡潔 高效 流暢 安全 的使用環(huán)境 用戶使用的過程為 先是用戶登開啟本軟件 軟件自動檢索局域 網的其它用戶 并以之成為用戶列表 讓用戶選擇 當用戶發(fā)現所要連接的用 戶之后 雙擊該用戶 則出現發(fā)送窗口 用戶用之來發(fā)送消息或者文件 接收 方可以選擇接收或者拒絕相應的傳輸文件 2 32 3 組織結構的分析組織結構的分析 以下為組織結構圖 圖 1 組織結構圖 直接傳送 發(fā) 送 端 電 腦 選 擇 目 標 電 腦 連 接 后 數 據 轉 換 加密傳送 數 據 轉 換 目 標 主 機 第 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 以上內存措施 4 1G 以上可用硬盤空間 5 VGA 顯示器 以上的配置均要求為在同一局域網內的兩臺或兩臺以上 2 3 22 3 2 系統(tǒng)開發(fā)語言系統(tǒng)開發(fā)語言 本系統(tǒng)采用 VC VC 語言開發(fā) VC VC 是前些年迅速發(fā)展和推廣的一種計 算機語言 近年來 已經相當的完善 它主要特點有兩個方面 一是全面兼容 C 二是支持面向對向的方法 3 3理論知識理論知識 3 13 1 C SC S 軟件架構技術軟件架構技術 C S Client Server 結構 即大家熟知的客戶機 服務器結構 它是軟件 系統(tǒng)體系結構 通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢 將任務合理分配到 Client 端和 Server 端來實現 降低了系統(tǒng)的通訊開銷 目前大多數應用軟件 系統(tǒng)都是 Client Server 形式的兩層結構 由于現在的軟件應用系統(tǒng)正在向分 布式的 Web 應用發(fā)展 Web 和 Client Server 應用都可以進行同樣的業(yè)務處理 應用不同的模塊共享邏輯組件 因此 內部的和外部的用戶都可以訪問新的和 現有的應用系統(tǒng) 通過現有應用系統(tǒng)中的邏輯可以擴展出新的應用系統(tǒng) 這也 就是目前應用系統(tǒng)的發(fā)展方向 傳統(tǒng)的 C S 體系結構雖然采用的是開放模式 但這只是系統(tǒng)開發(fā)一級的開 放性 在特定的應用中無論是 Client 端還是 Server 端都還需要特定的軟件支 持 由于沒能提供用戶真正期望的開放環(huán)境 C S 結構的軟件需要針對不同的 操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件 加之產品的更新?lián)Q代十分快 已經很難適 應百臺電腦以上局域網用戶同時使用 3 23 2 用戶數據報協(xié)議用戶數據報協(xié)議 UDP UDP UDP User Datagram Protocol 用戶數據包協(xié)議 它和 TCP 一樣位于傳 輸層 和 IP 協(xié)議配合使用 在傳輸數據時省去包頭 但它不能提供數據包的重 傳 所以適合傳輸較短的文件 由于大多數網絡應用程序都在同一臺機器上運行 計算機上必須能夠確保 目的地機器上的軟件程序能從源地址機器處獲得數據包 以及源計算機能收到 第 5 頁 共 20 頁 正確的回復 這是通過使用 UDP 的 端口號 完成的 源端口號標識了請求域 名服務的本地機的應用程序 同時需要將所有由目的站生成的響應包都指定到 源主機的這個端口上 與 TCP 不同 UDP 并不提供對 IP 協(xié)議的可靠機制 流控 制以及錯誤恢復功能等 由于 UDP 比較簡單 UDP 頭包含很少的字節(jié) 比 TCP 負載消耗少 所以 UDP 適用于不需要 TCP 可靠機制的情形 比如 當高層協(xié)議 或應用程序提供錯誤和流控制功能的時候 UDP 是傳輸層協(xié)議 服務于很多知 名應用層協(xié)議 包括網絡文件系統(tǒng) NFS 簡單網絡管理協(xié)議 SNMP 域名系 統(tǒng) DNS 以及簡單文件傳輸系統(tǒng) TFTP 3 33 3 單播 廣播 組播淺析單播 廣播 組播淺析 硬件組播 multicasting 是一種多點投遞的形式 它使用硬件技術 通 過使用大量組播地址來通信 當某一組機器需要通信時 選擇一個組播地址 并配置好相應的網絡接口硬件 識別組播地址 從而收到該組播地址上分組的 拷貝 廣播 broadcasting 是多點投遞的最普遍的形式 它向每一個目的站 投遞一個分組的拷貝 它可以通過多個單次分組的投遞完成 也可以通過單獨 的連接傳遞分組的拷貝 直到每個接收方均收到一個拷貝為止 在多數網絡中 用戶是通過把分組分送給一個特殊保留的地址即廣播地址 broadcast address 來進行廣播投遞 它的主要缺點是會耗費大量的主機資 源和網絡資源 單播 unexacting 是指只有一個目的地的數據報傳遞 從投遞目的地的 數量而言 單播和廣播均可看作是組播的一個子集 單播可以看作僅包括一臺 機器群組的組播 廣播可以看作包含了所有機器群組的組播 但從數據報的投 遞方式而言 單播 廣播和組播還是有較大的區(qū)別 4 4系統(tǒng)設計系統(tǒng)設計 本系統(tǒng)主要分為文字聊天和文件傳書兩大部分 所以本論文將把系統(tǒng)分成 兩大模塊來介紹 4 14 1 文字聊天模塊的整體構架文字聊天模塊的整體構架 本系統(tǒng)文字聊天是采用 C S 結構 所以每個客戶端也是作為服務器端的 當系統(tǒng)發(fā)送信息給局域網的用戶 主要由單播模塊和廣播模塊來實現 而其中 的單播模塊和用戶信息模塊是具有依賴性的 在接收信息的時候又有兩個模塊 來完成 一是信息接收的模塊 另一個是信息查看的模塊 由此可以看出本模塊主要分為兩模塊 發(fā)送模塊和接收模塊 發(fā)送模塊 單播模塊 廣播模塊 用戶信息模塊 信息記錄模塊接收模塊 接收信息模塊 查看信息模塊 綜上所述 系統(tǒng)的架構圖為 第 6 頁 共 20 頁 圖 2 系統(tǒng)結構圖 4 24 2 文件傳輸模塊的主要流程圖文件傳輸模塊的主要流程圖 由于本模塊采用 C S 架構故將系統(tǒng)運行載體分為兩個部分 客戶端與服務 器端 文件傳輸需要建立有效的連接后 通過 TCP IP 協(xié)議實現點對點的文件傳 輸 通信雙方是通過三次握手建立連接 實現文字 文件傳輸 最后關閉套節(jié) 字連接 其傳輸的整個流程圖如下 圖 3 結構流程圖 4 34 3 系統(tǒng)的主要功能模塊系統(tǒng)的主要功能模塊 4 3 14 3 1 文字聊天的主登錄界面文字聊天的主登錄界面 由于系統(tǒng)的用戶設計是針對的用戶日常活動 而非專門從事計算機操作的 人員 所以本系統(tǒng)力求界面友好 簡單 以便給用戶提供一個舒適的使用環(huán)境 系 統(tǒng) 主 界 面 顯示用戶信息 信息寫入 信息接收 單播發(fā)送 多播發(fā)送 查看信息 客戶端主機服務器端主機 tcp ip 套節(jié)字連接求連接響應 3 次握手 寫入信息流接收文件流 sockt 流 并保存 斷開連接斷開連接響應 3 次握手 第 7 頁 共 20 頁 在文字聊天模塊的主要目標是簡捷 方便 為了方便用戶選取單個用戶進行信息發(fā)送和查看在線用戶的信息 所以設 計了一個 ListView 來進行顯示如圖 5 在 ListView 中包括了用戶名 工作組 用戶級數等 當有用戶打開本系統(tǒng)的時候將會向局域網中的所有用戶發(fā)送一個 握手信息來獲取網絡中的在線用戶信息并添加到列表中顯示出來 同時也把自 己的網絡資源信息發(fā)送給對方 使自己被添加到其他用戶的列表中 登錄界面 如圖 4 所示 圖 4 啟動主界面 進行發(fā)送的 在發(fā)送時將會把信息發(fā)送給在局域網內部的所有用戶包括自 己 選擇用戶并輸入發(fā)送信息 單播發(fā)送的按鈕為 BitBtn2 主要是通過 Id UDP Server 和 Id UDP Client 組件來編寫的 由 client Send Buffer 語句來 發(fā)送的 主要是對局域網內部的同一工作組用戶發(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 文字聊天信息的封裝文字聊天信息的封裝 封裝是一種把多次聊天的的數據捆綁在一起 使這兩者不受外界干擾和誤用 的機制 封裝可被理解為一種用做保護的包裝器 以防止代碼和數據被包裝器外 部所定義的其他代碼任意訪問 對包裝器內部代碼與數據的訪問通過一個明確定 義的接口來控制 封裝代碼的好處是每個人都知道怎樣訪問代碼 進而無需考慮 實現細節(jié)就能直接使用它 同時不用擔心不可預料的副作用 用戶密封只需選擇 seal 選項 程序插件自動生成封裝功能 并且在聊天過 程中 封裝的過程仍在持續(xù) 聊天的內容是邊封裝數據包邊傳輸 密封發(fā)送信息接收界面 如圖 6 所示 第 10 頁 共 20 頁 圖 6 接收界面 在點擊 open 后顯示信息 其中實現的主要代碼為 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 的用戶看 從而加強了信息的安全程度 在現在這個網絡黑客泛濫的 時代 為了保護信息的隱私 加鎖就更加必要了 以下為加鎖信息的主要界面 在加鎖后的信息接收界面 如圖 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 文件傳輸的界面文件傳輸的界面 與文字聊天一樣 系統(tǒng)的文件 文件夾傳輸模塊也盡量地要求簡單易行 便于操作 當然 作為文件的傳輸 速度和安全也就成為了重要的問題 系統(tǒng) 的簡單加鎖能達到局域網較為單一的環(huán)境要求 文件傳輸的過程中流程為首先客端的主機通過 TCP IP 協(xié)議建立鏈接 然后 客戶機發(fā)送套節(jié)字請求 通過 3 次握手連接響應 再轉換數據為 socket 流傳送 最近通過 3 次握手斷開連接響應 選擇用戶并拖入相應所要傳送的文件及文件夾 如圖 9 所示 圖 9 文件傳輸界面 點擊所發(fā)送的文件為文件另存為 界面如圖 10 所示 第 14 頁 共 20 頁 圖 10 選擇存儲路徑 選擇路徑確定后 文件開始傳輸 其傳送界面 如圖 11 所示 圖 11 文件傳輸中 實現的主要代碼為 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 用戶密封或加鎖傳輸文件用戶密封或加鎖傳輸文件 文件傳輸模塊實現主要依靠發(fā)送端與接收端建立有效的連接后 客戶端不 斷地向 SOCKET 寫入文件流 服務器端不斷接受來自客戶端的 SOCKET 文件流 直到文件傳輸完畢關閉套節(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)境 簡單含有兩臺或者兩臺以上主機的局域網一個 主機的最低配置 CPU PIII8000 內存 SDRAM 64M WIN2000 XP 9X 2003 下均測試通過 建議用戶 CPU PIII 內存 256M 及以上 5 25 2 測試結果測試結果 系統(tǒng)在上述軟硬件環(huán)境下對此系統(tǒng)各個子模塊功能作出測試 結果基本能 夠達到預期功能 結結 論論 隨著互聯(lián)網技術的迅猛發(fā)展 網絡給人們帶來了很多便利 局域網以其快 捷的速度 優(yōu)異的準確率始終在溝通和資源共享方面占有一席之地 局域網內 的文字聊天以及文件 文件夾的傳輸的工具早已經為人們所創(chuàng)造和使用 主要工作 1 熟悉業(yè)務流程 進一步分析需求 了解程序的業(yè)務流程和客戶的需求 為分析管理需求打下基礎 第 18 頁 共 20 頁 2 研究并設計飛鴿傳書系統(tǒng)的功能組成 它的核心是 聊 傳 因此確定 系統(tǒng)的基本功能就是聊天和文件傳送 3 學習借鑒其它優(yōu)秀軟件 取長補短 可以使系統(tǒng)的開發(fā)過程少走彎路 4 收集資料 為系統(tǒng)實現做準備 5 設計完成系統(tǒng)軟件 選擇適當的設計軟件 主要得用 win socket 控件的 主要功能 由于時間比較倉促 個人開發(fā)能力也有限 系統(tǒng)還存在一些其它的 技術性問題 還需在今后的實踐中不斷總結和改善 以提高系統(tǒng)技術含量和研 究價值 增強自身開發(fā)能力 參考文獻參考文獻 1 Andrew S Tanenbaum 計算機網絡 M 北京 清華大學出版社 1998 2 Anonymous 網絡最高安全技術指南 M 北京 機械工業(yè)出版社 1998 3 David A Solomon Windows NT 技術內幕 M 北京 清華大學出版社 1999 4 Douglas E Comer TCP IP 網絡互連技術 M 北京 清華大學出版社 1998 5 David J Kruglinski Visual C 技術內幕 M 北京 清華大學出版社 1999 6 梁普選 Visual C 序設計與實踐 北京 清華大學出版社 2005 第 19 頁 共 20 頁 致致 謝謝 本文是在劉永紅老師的熱情關心和指導下完成的 他淵博的知識和嚴謹的 治學作風使我受益匪淺 對順利完成本課題起到了極大的作用 在此向他表示 我最衷心的感謝 在論文完成過程中 本人還得到了韓斌老師和鄭帥同學的熱心幫助 本人 向他們表示深深的謝意 最后向在百忙之中評審本文的各位專家 老師表示衷心的感謝 作者簡介 姓 名 張路長 性別 男 出生年月 1984 3 民族 漢 E mail luchang zhang 聲聲 明明 本論文的工作是 2007 年 2 月至 2007 年 6 月在成都信息工程學院網絡工程 系完成的 文中除了特別加以標注地方外 不包含他人已經發(fā)表或撰寫過的研 究成果 也不包含為獲得成都信息工程學院或其他教學機構的學位或證書而使 用過的材料 除非另有說明 本文的工作是原始性工作 關于學位論文使用權和研究成果知識產權的說明 本人完全了解成都信息工程學院有關保管使用學位論文的規(guī)定 其中包括 1 學校有權保管并向有關部門遞交學位論文的原件與復印件 2 學??梢圆捎糜坝?縮印或其他復制方式保存學位論文 3 學??梢詫W術交流為目的復制 贈送和交換學位論文 4 學校可允許學位論文被查閱或借閱 5 學??梢怨紝W位論文的全部或部分內容 保密學位論文在解密后遵 守此規(guī)定 除非另有科研合同和其他法律文書的制約 本論文的科研成果屬于成都信 息工程學院 特此聲明 作者簽名 年 月 日 第 1 頁 共 53 頁 畢畢 業(yè)業(yè) 設設 計計 論論 文文 局域網飛鴿傳書軟件的設計與實現局域網飛鴿傳書軟件的設計與實現 論文作者姓名 論文作者姓名 申請學位專業(yè) 申請學位專業(yè) 申請學位類別 申請學位類別 指指導導教教師師姓姓名名 職職稱稱 論文提交日期 論文提交日期 局域網飛鴿傳書軟件的設計與實現局域網飛鴿傳書軟件的設計與實現 摘摘 要要 網絡通訊在當今已經不算新鮮事物 但大多數網絡通訊都需要借助 Internet 上的服務器 這就給那些具有大規(guī)模內部網絡的用戶造成了許多問題 如浪費網絡資源 遭遇到網絡攻擊 傳播的病毒 破壞防御系統(tǒng)等等 由于互 連網上的網絡通訊工具給企業(yè)內部信息交流帶來了不便 所以為了方便內部網 絡的用戶之間的溝通 需要開發(fā)一個基于局域網的信息收發(fā)系統(tǒng)的即時通訊工 具 實現在內部網絡中進行信息的交流 本課題設計主要針對局域網通訊而開 發(fā)設計的 采用的是 C S 構架 類似飛鴿傳書系統(tǒng) 來實現聊天 文件傳輸功 能 并借助一些網絡通訊組件 成功的實現了在局域網上的即時通訊 本論文的目標是設計一個類似飛鴿傳輸的局域網通信軟件 并分析它在其 領域的優(yōu)勢 本設計以 C 編寫 能在 windows 2000 net xp 等環(huán)境下運行 設計 共分為五大模塊 分別是 首先 介紹選題背景及意義和國內外研究現狀 其 次 介紹 TCP IP 點對點協(xié)議技術 C S 架構和 SOCKET 網絡編程技術 再次 對當前局域網文件傳輸進行需求分析并提出解決方案 然后 根據解決方案對 系統(tǒng)進行設計 最后 對工作計劃統(tǒng)計以及分析系統(tǒng)進行測試并得到測試結果 關鍵詞關鍵詞 聊天 傳輸 socket 飛鴿傳書 C S 結構 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 目目 錄錄 論文總頁數 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)設計目標 2 2 2 系統(tǒng)總體需求分析 3 2 3 組織結構的分析 3 2 3 1 開發(fā)運行環(huán)境 3 2 3 2 系統(tǒng)開發(fā)語言 4 3理論知識 4 3 1 C S 軟件架構技術 4 3 2 用戶數據報協(xié)議 UDP 4 3 3 單播 廣播 組播淺析 5 4系統(tǒng)設計 5 4 1 文字聊天模塊的整體構架 5 4 2 文件傳輸模塊的主要流程圖 6 4 3 系統(tǒng)的主要功能模塊 6 4 3 1 文字聊天的主登錄界面 6 4 3 2 文字聊天信息的封裝 9 4 3 3 聊天信息的加鎖 10 4 3 4 文件傳輸的界面 12 4 3 5 用戶密封或加鎖傳輸文件 15 5系統(tǒng)測試 17 5 1 測試環(huán)境 17 5 2 測試結果 17 結 論 17 參考文獻 18 致 謝 19 聲 明 20 第 1 頁 共 20 頁 6 6引言引言 1 11 1 課題背景課題背景 當時間走向 21 世紀 當今時代也由工業(yè)經濟漸漸成為了知識經濟 信息經 濟的時代 信息的需求量的不停增加 促使了計算機通信的日新月異 雖然網 絡的使用頻率與使用的范圍都越來越廣泛 但是人們使用的網絡的用途主要的 還是只有兩個 1 相互之間的溝通 2 資源共享 局域網作為網絡的一個重要組成部分 它不但用戶與外界連接的樞紐 同 時也是近距離用戶之間溝通與資源共享的一個重要途徑 在這種情況下 如何 使局域網內的用戶便捷的勾通 以及快速的資源共享 也就成為了人們對網絡 研究的重點之一 本系統(tǒng)仿飛鴿傳輸 是一個局域網內的通迅工具 主要通過 Winsockt 完成 它據有的功能有 1 局域網內用戶間簡單的文字聊天功能 2 局域網內用戶間相互的文件 文件夾傳輸 1 21 2 本課題主要研究背景本課題主要研究背景 隨著計算機和通訊技術的發(fā)展 計算機的網絡化已經滲透到各個應用領域 尤其是以 TCP IP 協(xié)議之間的網絡互連發(fā)展很快 計算機應用系統(tǒng)的開發(fā)由傳統(tǒng) 的單機方式轉向到了網絡環(huán)境的開發(fā) 大部分編程語言都提供了基于 Windows Sockets 網絡編程接口的 Win socket 控件 它使開發(fā) TCP IP 通訊變得簡單方便 網絡之間進行數據通訊時 使用地址來標識網絡中的計算機 有了地址以 后 數據才會準確地發(fā)送到地址所指向的計算機 TCP IP 協(xié)議使用 IP 地址為 網絡中計算機的標識 而且每臺計算機的 IP 地址是唯一的 一般情況下 每臺 計算機運行的程序不止一個 因此要在應用程序中建立連接的話 還需要一個 地址標識 在 TCP IP 協(xié)議書中使用端口 PORT 作為計算機上運行的應用程序的標識 因此 TCP IP 協(xié)議中一個有效的網絡地址包括 IP 地址和端口地址兩個部分 TCP IP 協(xié)議提供了兩種計算機之間的通訊方式 TCP 方式和 UDP 方式 TCP 是一種面向連接的服務 在文件傳輸時會先行建立連接 通過鏈接提 供雙向 有序且無重復的數據流服務 以及流量控制 差錯檢測和糾錯等服務 從而確保文件傳輸的正確性 UDP 則是一種無連接的服務 它在傳輸文件時不 會確保傳輸端的文件能夠正確無誤的傳送到接收端 所以當使用 UDP 時 通常 要自己作接收確認的工作 第 2 頁 共 20 頁 1 31 3 本課題主要研究思路和方法本課題主要研究思路和方法 本系統(tǒng)的開發(fā)采用基于 win socket 的廣播發(fā)送模式 進行文字聊天和文件 文件夾傳輸的設計與開發(fā) 因此 本設計首先分析該系統(tǒng)的相關功能 結合本 設計的相關要求寫出需求分析 其次 綜合運用以前所學的相關知識 選擇所 熟悉的開發(fā)工具進行本設計的開發(fā) 在設計中以需求分析為基礎 寫出系統(tǒng)開 發(fā)計劃 實現流程及相關問題的實現方法 最后 在系統(tǒng)開發(fā)完畢后 進行

溫馨提示

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

最新文檔

評論

0/150

提交評論