基于TCP的網(wǎng)絡(luò)通信協(xié)議設(shè)計論文.doc_第1頁
基于TCP的網(wǎng)絡(luò)通信協(xié)議設(shè)計論文.doc_第2頁
基于TCP的網(wǎng)絡(luò)通信協(xié)議設(shè)計論文.doc_第3頁
基于TCP的網(wǎng)絡(luò)通信協(xié)議設(shè)計論文.doc_第4頁
基于TCP的網(wǎng)絡(luò)通信協(xié)議設(shè)計論文.doc_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

畢業(yè)設(shè)計(論文)題 目: 基于tcp的網(wǎng)絡(luò) 通信協(xié)議設(shè)計 學(xué) 院: 計算機科學(xué)學(xué)院 專業(yè)班級: 網(wǎng)絡(luò)工程10級1班 指導(dǎo)教師: 薛文生 職稱: 副教授 學(xué)生姓名: 劉小芳 學(xué) 號: 41009040127 畢業(yè)設(shè)計(論文)題 目: 基于tcp的網(wǎng)絡(luò) 通信協(xié)議設(shè)計 學(xué) 院: 計算機科學(xué)學(xué)院 專業(yè)班級: 網(wǎng)絡(luò)工程10級1班 指導(dǎo)教師: 薛文生 職稱: 副教授 學(xué)生姓名: 劉小芳 學(xué) 號: 41009040127 摘 要 在網(wǎng)絡(luò)越來越發(fā)達的今天,人們對網(wǎng)絡(luò)的依賴越來越多,越來越離不開網(wǎng)絡(luò),由此而產(chǎn)生的即時通訊工具也越來越多,而網(wǎng)絡(luò)中不同的工作站、服務(wù)器之間能通訊,源于協(xié)議的存在。協(xié)議的設(shè)計可以實現(xiàn)交流的高效與安全。本文主要對即時通訊軟件的協(xié)議的設(shè)計,從而為用戶提供一個可靠的、專業(yè)的網(wǎng)上交流平臺。 本次畢業(yè)設(shè)計是采用客戶端/服務(wù)器架構(gòu)模式,模擬現(xiàn)有網(wǎng)絡(luò)通信協(xié)議,運用了計算機網(wǎng)絡(luò)的基礎(chǔ)知識如:tcp,多線程以及windows socket等,設(shè)計的一款簡單的應(yīng)用層網(wǎng)絡(luò)通信協(xié)議。本系統(tǒng)是在tcp之上,采用visual c+ 6.0開發(fā)平臺,基于mfc框架提供的windows socket編程機制設(shè)計,運用dialog based組件構(gòu)建界面,使用了 c+面向?qū)ο蟮募夹g(shù)和面向?qū)ο蟮脑O(shè)計原則,使用vc+語言編寫。客戶端與服務(wù)器端通過socket傳送消息。服務(wù)器端設(shè)計與實現(xiàn)過程中,采用了多線程技術(shù),可以在單個程序當(dāng)中同時運行多個不同的線程,從而實現(xiàn)多客戶端聊天,大大增強了程序?qū)Ψ?wù)器資源的利用和客戶的等待是時間??蛻舳伺c客戶端以及客戶端與服務(wù)器端采用事先約定好的數(shù)據(jù)結(jié)構(gòu)作為傳輸數(shù)據(jù)結(jié)構(gòu),以便于客戶端和服務(wù)器端順利通信??蛻糁g的通信經(jīng)由服務(wù)器處理之后轉(zhuǎn)發(fā),服務(wù)器端對數(shù)據(jù)進行簡單校驗,以實現(xiàn)客戶端之間的點對點通信。關(guān)鍵詞:協(xié)議,即時通訊,多線程abstracttoday, network is more and more developed, and people are more and more dependent on network, nearly are not inseparable from the network.so there are more and more tools of communication, but,as we all know between different workstations, servers, wantting to communicate, due to the existence of the protocol .the protocol can help achieve high efficiency and security communication.in this paper, it is mainly about a protocol design for instant messaging to provide users with a reliable, professional online communication platform.this graduation design uses the client/server architecture model, simulate the existing network communication protocols, and use the basic knowledge of computer network such as tcp, multithreading and windows sockets and so on .the design is a simple network communication protocol of application layer.this system is based on tcp, and uses the visual c + + 6.0 platform, takes advantages of the mfc framework which provids the windows socket programming mechanism design, makes uses of dialog -based components to build interface, and utilize the c+ object offers the class design principles, and uses vc + + language.client and server through socket establish the connection.in the project ,the design of the server takes advantagea of the multithreading technology, so can support to run a number of different threads in the midst of a single program, so as to realize multiple clients to run at the same time , it greatly enhance the using rate of the server resources and the clients waiting time .the client and the client , the client and the server use the pre-arranged data structure as the receiving data and the dispatching data, so that the client and server communication smoothly.clients communication between the server, after received a data package, it firstly makes a simpe processing ,then putforwards ,so that realizing the point-to-point communication between clients.key words: protocol,instant messagint,multithreading目錄abstractiv第一章 緒 論11.1 項目開發(fā)背景和意義11.2 開發(fā)和運行環(huán)境2第二章 開發(fā)工具簡介32.1 visual c+6.0介紹32.2 mfc32.3 msdn42.4 visual assist x4第三章 協(xié)議設(shè)計涉及知識簡介63.1 即時通訊63.2 網(wǎng)絡(luò)協(xié)議73.3 osi七層網(wǎng)絡(luò)模型73. 4 tcp/ip協(xié)議83.5 tcp傳輸83.6 c/s編程模型93.7 socket套接字103.8 網(wǎng)絡(luò)字節(jié)順序103.9 windows sockets113.10 同步、異步、阻塞和非阻塞123.11 多線程12第四章 需求分析144.1 整體需求分析144.2 可行性分析14第五章 概要設(shè)計155.1 性能要求155.2 通訊協(xié)議格式設(shè)計155.3 軟件工作模式圖165.4 軟件設(shè)計原理16第六章 詳細(xì)設(shè)計196.1 協(xié)議設(shè)計196.2 服務(wù)器端工程設(shè)計216.3 客戶端工程設(shè)計266.4多線程設(shè)計(一臺服務(wù)器與多個客戶端通信)356.5 協(xié)議工作設(shè)計38第七章 系統(tǒng)測試467.1 測試目的467.2 測試要求467.3 測試方法467.4 系統(tǒng)測試47總 結(jié)59致 謝60參考文獻61第一章 緒論第一章 緒 論1.1 項目簡介1.1.1 項目開發(fā)背景和意義 計算機網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,使得人類社會正全面邁向信息化。近幾年來,信息網(wǎng)絡(luò)更是以前所未有的速度不斷發(fā)展壯大,廣泛應(yīng)用于人類的生產(chǎn)、生活、學(xué)習(xí)和娛樂等各個領(lǐng)域,極大地促進了人類社會的進步。即時通訊作為目前的主要應(yīng)用之一,已經(jīng)極大的融入到我們生活的各個領(lǐng)域。 即時通信是一個終端連往一個即時通信網(wǎng)路的服務(wù)。即時通信不同于e-mail在于它的交談是實時的。大部分的即時通信服務(wù)提供了presence awareness的特性顯示聯(lián)絡(luò)人名單,聯(lián)絡(luò)人是否在在線與能否與聯(lián)絡(luò)人交談。 即時通信(instant message),由于其具有實時性、跨平臺性、成本低、效率高等優(yōu)點而受到廣泛的使用。即時通訊軟件的迅速發(fā)展已經(jīng)突破了作為技術(shù)工具的極限,被認(rèn)為是現(xiàn)代交流方式的象征。在網(wǎng)絡(luò)通訊時,必須選用正確的網(wǎng)絡(luò)通訊協(xié)議,以保證不同連接方式和操作系統(tǒng)的計算機之間可以進行數(shù)據(jù)傳輸。如何讓通訊雙方更決捷有效安全地溝通,就成為大家關(guān)心的問題。一個良好的協(xié)議設(shè)計可以很好的解決這個問題。一個良好的協(xié)議設(shè)計可以很好的解決這個問題。 我們知道,并且大家也都在用,qq,微信,飛信,msn,yy等眾多的即時通訊軟件,已經(jīng)成為了目前大家交流必不可少的工具,然而這些聊天工具雖然方便、實用,但是,由于其功能太多,如游戲,社區(qū),電子郵件等功能,占據(jù)內(nèi)存空間過大,從一定程度上來說,更多的已經(jīng)演變成了一種娛樂工具,不能作為即時通訊的專用工具。簽于此,一個簡單友好的即時通訊的網(wǎng)絡(luò)聊天工具的開發(fā)就顯得必不可少了,而我們知道,網(wǎng)絡(luò)通訊少不了相應(yīng)的軟件協(xié)議的支持,我們本次的設(shè)計目標(biāo)就是設(shè)計一個專用于支持內(nèi)容簡單,占用內(nèi)存小的計算機之間即時通訊的網(wǎng)絡(luò)聊天協(xié)議。 本系統(tǒng)使用當(dāng)前流行的mfc框架,c+語言編寫,采用面向?qū)ο蟮乃枷朐O(shè)計,基于tcp傳輸控制協(xié)議。切實考慮大眾用戶的需求,為方便用戶之間的溝通,為大家提供了一個簡單的用以支持即時通訊的網(wǎng)絡(luò)聊天協(xié)議。 本文首先對本次協(xié)議設(shè)計所用的開發(fā)平臺以及開發(fā)工具做了簡單介紹, 其次又對開發(fā)中所用到的知識點做了系列概括,接著是需求分析,在此基礎(chǔ)上那個提出了對軟件協(xié)議設(shè)計的設(shè)計方案,然后分析了協(xié)議的各類型字段,最后講了該協(xié)議的具體實現(xiàn)。 網(wǎng)絡(luò)協(xié)議一直以來作為信息網(wǎng)絡(luò)的核心支柱之一。近年來,網(wǎng)絡(luò)的新概念新方法、新技術(shù)以驚人的速度不斷涌現(xiàn),軟硬件不斷升級換代,新的產(chǎn)品和業(yè)務(wù)更是層出不窮出不窮,令人目不暇接,網(wǎng)絡(luò)協(xié)議更是不斷完善,以來更好的為信息化社會服務(wù)。不難發(fā)現(xiàn),網(wǎng)絡(luò)技術(shù)如同自然界的生物一樣,是一個新舊更替,優(yōu)勝劣汰的發(fā)展過程。陳舊落后的技術(shù)不論是網(wǎng)絡(luò)協(xié)議還是其他,必然被新的,更加先進的技術(shù)所替代。作為網(wǎng)絡(luò)工程系的學(xué)生,必須在打牢網(wǎng)絡(luò)理論基礎(chǔ),不斷更新學(xué)習(xí)各種網(wǎng)絡(luò)新技術(shù)的同時,并且能夠把學(xué)到的理論知識應(yīng)用于實踐中去,以便于深入理解網(wǎng)絡(luò)體系結(jié)構(gòu)和運行機制,切實掌握各種網(wǎng)絡(luò)技術(shù)的基本原理、軟、硬件設(shè)計方法和相關(guān)協(xié)議以及算法。而本次設(shè)計就是針對這一目標(biāo),結(jié)合本人在大學(xué)四年的理論學(xué)習(xí)和各種實踐,對網(wǎng)絡(luò)協(xié)議一次模擬設(shè)計,及時對本人大學(xué)學(xué)習(xí)情況的考察,也是自己對自己在大學(xué)所學(xué)知識的一次系統(tǒng)整疊和梳58西安工程大學(xué)學(xué)士學(xué)位論文理,更是對自己的一次鍛煉。1.1.2 開發(fā)和運行環(huán)境 操作系統(tǒng):win7編輯和運行平臺:visual c + + 6.0編碼語言:mfc協(xié)助軟件:msdn, visual assist x 第二章 開發(fā)工具簡介第二章 開發(fā)工具簡介2.1 visual c+6.0介紹2.1.1 特色visual c+6.0由microsoft開發(fā), 它不僅是一個c+編譯器,而且是一個基于windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrated development environment,ide)。visual c+6.0由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppwizard、類向?qū)lass wizard等開發(fā)工具。 這些組件通過一個名為developer studio的組件集成為和諧的開發(fā)環(huán)境。microsoft的主力軟件產(chǎn)品。visual c+是一個功能強大的可視化軟件開發(fā)工具。visual c+6.0以擁有“語法高亮”,自動編譯功能以及高級除錯功能而著稱。比如,它允許用戶進行遠(yuǎn)程調(diào)試,單步執(zhí)行等。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動正在調(diào)試的程序。其編譯及創(chuàng)建預(yù)編譯頭文件(stdafx.h)、最小重建功能及累加連結(jié)(link)著稱。這些特征明顯縮短程序編輯、編譯及連結(jié)的時間花費,在大型軟件計劃上尤其顯著。2.1.2缺點由于c+是由c語言發(fā)展起來的,也支持c語言的編譯。6.0版本是使用最多的版本,很經(jīng)典。最大的缺點是對于模版的支持比較差?,F(xiàn)在最新補丁為sp6,推薦安裝,否則易出現(xiàn)編譯時假死狀態(tài)。僅支持windows操作系統(tǒng)。目前發(fā)現(xiàn)與windows 7兼容性不好,安裝成功后可能會出現(xiàn)無法打開cpp文件的現(xiàn)象。2.2 mfc2.2.1 mfc簡介 mfc(microsoftfoundationclasses),是微軟公司提供的一個基礎(chǔ)類(microsoft foundation classes),以c+類的形式封裝了windows的api,并且包含一個應(yīng)用程序框架,以減少應(yīng)用程序開發(fā)人員的工作量。其中包含的類包含大量windows句柄封裝類和很多windows的內(nèi)建控件和組件的封裝類。 mfc應(yīng)用程序的總體結(jié)構(gòu)通常由開發(fā)人員從mfc類派生的幾個類和一個cwinapp類對象(應(yīng)用程序?qū)ο?組成。mfc 提供了mfc appwizard 自動生成框架。windows 應(yīng)用程序中,mfc的主要文件為“afxwin.h”.mfc實際上是微軟提供的,用于在c+環(huán)境下編寫應(yīng)用程序的一個框架和引擎。vc+是windows下開發(fā)人員使用的專業(yè)c+ sdk(sdk,standard software develop kit,專業(yè)軟件開發(fā)平臺),mfc就是掛在它之上的一個輔助軟件開發(fā)包。mfc作為與vc+血肉相連的部分。只不過mfc類是微軟為vc+專配的。mfc是winapi與c+的結(jié)合。api,即微軟提供的windows下應(yīng)用程序的編程語言接口,是一種軟件編程的規(guī)范,但不是一種程序開發(fā)語言本身,可以允許用戶使用各種各樣的第三方的編程語言來進行對windows下應(yīng)用程序的開發(fā),使這些被開發(fā)出來的應(yīng)用程序能在windows下運行。編程語言函數(shù)本質(zhì)上全部源于api,因此用它們開發(fā)出來的應(yīng)用程序都能工作在windows的消息機制和繪圖里,遵守windows作為一個操作系統(tǒng)的內(nèi)部實現(xiàn)。mfc是微軟對api函數(shù)的專用c+封裝,這種結(jié)合一方面讓用戶使用微軟的專業(yè)c+ sdk來進行windows下應(yīng)用程序的開發(fā)變得容易,因為mfc是對api的封裝,微軟做了大量的工作,隱藏了好多程序開發(fā)人員在windows下用c+ & mfc編制軟件時的大量內(nèi)節(jié),如應(yīng)用程序?qū)崿F(xiàn)消息的處理、設(shè)備環(huán)境繪圖,這種結(jié)合是以方便為目的的,必定要付出一定代價,因此就造成了mfc對類封裝中的一定程度的的冗余和迂回,但這是可以接受的。 mfc不只是一個功能單純的界面開發(fā)系統(tǒng),它提供的類絕大部分用來進行界面開發(fā),關(guān)聯(lián)一個窗口的動作,但它提供的類中有好多類不與一個窗口關(guān)聯(lián),即類的作用不是一個界面類,不實現(xiàn)對一個窗口對象的控制(如創(chuàng)建、銷毀),而是一些在windows中實現(xiàn)內(nèi)部處理的類,如數(shù)據(jù)庫的管理類等。 windows作為一個提供功能強大的應(yīng)用程序接口編程的操作系統(tǒng),因為api函數(shù)實在太多了,而且名稱很亂,從零構(gòu)架一個窗口動輒就是上百行的代碼。mfc是面向?qū)ο蟪绦蛟O(shè)計與application framework的完美結(jié)合,它將傳統(tǒng)的api進行了分類封裝,創(chuàng)建了程序的一般框架。windows作為一個提供功能強大的應(yīng)用程序接口編程的操作系統(tǒng),因為api函數(shù)實在太多了,而且名稱很亂,從零構(gòu)架一個窗口動輒就是上百行的代碼。mfc是面向?qū)ο蟪绦蛟O(shè)計與application framework的完美結(jié)合,它將傳統(tǒng)的api進行了分類封裝,創(chuàng)建了程序的一般框架。2.3 msdn2.3.1 msdn 簡介msdn(microsoft developer network)是早期微軟在推廣win32 程序設(shè)計以及開發(fā)工具時,專門為開發(fā)人員所提供的一個服務(wù),是使用微軟技術(shù)開發(fā)軟件或應(yīng)用程序時必定會參訪的地方,同時它也有提供訂閱的服務(wù),由微軟不定時供應(yīng)最新的軟件及技術(shù)文件,msdn的技術(shù)文件庫是免費開放讓所有人在聯(lián)機閱讀,但光盤的版本必須要利用msdn library subscription才可以拿到,不過自從visual studio 2005開始,msdn library即提供免費的網(wǎng)絡(luò)下載。也許是受到msdn成功與廣為開發(fā)人員所知的影響,升陽也將它們的java文件庫定名為sun developer network (sdn)一般情況下,很多人誤認(rèn)為 msdn 為聯(lián)機幫助文件和技術(shù)文獻的集合。但事實上,這兩者只占 msdn 龐大計劃的一小部分。產(chǎn)品下載、在線電子教程、msdn 雜志和技術(shù)緊急電話支援是要付費的,其余基本免費。2.4 visual assist x 2.4.1 visual assist x 簡介visual assist x是一款非常好的microsoft visual studio 2005和visual studio .net插件,支持c/c,c,asp,visual basic,java和html等語言,能自動識別各種關(guān)鍵字、系統(tǒng)函數(shù)、成員變量、自動給出輸入提示、自動更正大小寫錯誤、自動標(biāo)示錯誤等,有助于提高開發(fā)過程的自動化和開發(fā)效率。第三章 協(xié)議設(shè)計涉及知識簡介 第三章 協(xié)議設(shè)計涉及知識簡介3.1 即時通訊3.1.1 簡介即時通訊(instant messenger,簡稱im),im最早的創(chuàng)始人是三個以色列青年,是他們在1996年開發(fā)出來的,取名叫icq。是一個終端服務(wù),允許兩人或多人使用網(wǎng)路即時的傳遞文字訊息、檔案、語音與視頻交流。即時通訊按使用用途分為企業(yè)即時通訊和網(wǎng)站即時通訊,根據(jù)裝載的對象又可分為手機即時通訊和pc即時通訊,手機即時通訊代表是短信,網(wǎng)站、視頻即時通訊如:米聊、yy語音、qq、msn、百度hi、新浪uc、阿里旺旺、網(wǎng)易泡泡、網(wǎng)易cc、盛大et、移動飛信、企業(yè)飛信等應(yīng)用形式。3.1.2 行業(yè)分析據(jù)最新的報告顯示,2008年中國企業(yè)即時通訊市場終端用戶規(guī)模達到2236萬人,與2007年的1813萬人相比,同比增長23.3%。已經(jīng)開始全面入市場,競爭格局也已經(jīng)初顯端倪,主要以高效、穩(wěn)定和安全作為其產(chǎn)品開發(fā)的重點。3.1.3 即時通訊的新發(fā)展(1)由pc即時通信向手機客服端轉(zhuǎn)移由pc即時通信向手機客服端轉(zhuǎn)移,具有以下特點:省錢,方便,可靠,超強,夠酷,時尚,環(huán)保,驚喜,厲害。(2)網(wǎng)頁即時通訊新趨勢a.論壇、sns社區(qū):滿足論壇、社區(qū)的注冊用戶和游客即時通訊的需求,可以提高用戶的活躍度。b.垂直門戶、電子商務(wù):滿足網(wǎng)站訪客進行話題討論、咨詢的需求,可以提高用戶停留時間。c.游戲、客戶端軟件:按需求提供im定制服務(wù),有效降低im開發(fā)成本。完全基于網(wǎng)頁的即時通訊a.無需下載、安裝客戶端軟件。b.聊天記錄無論在哪臺電腦上都可以查看。c.可以和社區(qū)網(wǎng)站無縫結(jié)合,進一步提高用戶之間的交流互動。3.1.4 安全問題目前,即時通訊的主要挑戰(zhàn)是安全,安全威脅包括:id被盜、隱私威脅、病毒威脅等,下面是即時通訊用戶應(yīng)該遵循的一些安全準(zhǔn)則,以保護自身的網(wǎng)絡(luò)安全和隱私。即時通訊安全準(zhǔn)則主要包括:不隨意泄露即時通訊的用戶名和密碼;不在第三方網(wǎng)站登錄網(wǎng)頁版即時通訊軟件;定期更改密碼;謹(jǐn)慎使用未經(jīng)認(rèn)證的即時通訊插件;在即時通訊設(shè)置中開啟文件自動傳輸病毒掃描選項;不接收來歷不明或可疑的文件和網(wǎng)址鏈接。3.2 網(wǎng)絡(luò)協(xié)議3.2.1定義協(xié)議是用來描述進程之間信息交換數(shù)據(jù)時的規(guī)則術(shù)語義。在計算機網(wǎng)絡(luò)中,兩個相互通信的實體處在不同的地理位置,其上的兩個進程相互通信,需要通過交換信息來協(xié)調(diào)它們的動作達到同步,而信息的交換必須按照預(yù)先共同約定好的規(guī)則進行。網(wǎng)絡(luò)協(xié)議的定義:為計算機網(wǎng)絡(luò)中進行數(shù)據(jù)交換而建立的規(guī)則、標(biāo)準(zhǔn)或約定的集合。3.1.2 網(wǎng)絡(luò)協(xié)議是由三個要素組成a.語義:語義是解釋控制信息每個部分的意義,它規(guī)定了需要發(fā)出何種控制信息,以及完成的動作與做出什么樣的響應(yīng)。b.語法:語法是用戶數(shù)據(jù)與控制信息的結(jié)構(gòu)與格式,以及數(shù)據(jù)出現(xiàn)的順序。c.時序:時序是對事件發(fā)生順序的詳細(xì)說明。(也可稱為“同步”)。人們形象地把這三個要素描述為:語義表示要做什么,語法表示要怎么做,時序表示做的順序。3.3 osi七層網(wǎng)絡(luò)模型3.3.1osi七層模型簡介osi網(wǎng)絡(luò)模型是一個開放式系統(tǒng)互聯(lián)的參考模型。通過這個參考模型,用戶可以非常直觀地了解網(wǎng)絡(luò)通信的基本過程和原理。osi參考模型如圖所示。用戶從osi網(wǎng)絡(luò)模型可以很直觀地看到,網(wǎng)絡(luò)數(shù)據(jù)從發(fā)送方到達接收方的過程中,數(shù)據(jù)的流向以及經(jīng)過的通信層和相應(yīng)的通信協(xié)議。事實上在網(wǎng)絡(luò)通信的發(fā)送端,其通信數(shù)據(jù)每到一個通信層,都會被該層協(xié)議在數(shù)據(jù)中添加一個包頭數(shù)據(jù)。而在接收方恰好相反,數(shù)據(jù)通過每一層時都會被該層協(xié)議剝?nèi)ハ鄳?yīng)的包頭數(shù)據(jù)。用戶也可以這樣理解,即網(wǎng)絡(luò)模型中的各層都是對等通信。在osi七層網(wǎng)絡(luò)模型中,各個網(wǎng)絡(luò)層都具有各自的功能,如表所示。各網(wǎng)絡(luò)層的功能協(xié) 議 層 名功 能 概 述物理硬件層表示計算機網(wǎng)絡(luò)中的物理設(shè)備。常見的有計算機網(wǎng)卡等數(shù)據(jù)鏈路層將傳輸數(shù)據(jù)進行壓縮與加壓縮網(wǎng)絡(luò)層將傳輸數(shù)據(jù)進行網(wǎng)絡(luò)傳輸數(shù)據(jù)傳輸層進行信息的網(wǎng)絡(luò)傳輸會話層建立物理網(wǎng)絡(luò)的連接表示層將傳輸數(shù)據(jù)以某種格式進行表示應(yīng)用層應(yīng)用程序接口%注意:在表1.1中列出了osi七層網(wǎng)絡(luò)模型中各層的基本功能概述。用戶根據(jù)這些基本的功能概述會對該網(wǎng)絡(luò)模型有一個比較全面的認(rèn)識。3. 4 tcp/ip協(xié)議3.4.1 tcp/ip協(xié)議簡介tcp/ip協(xié)議實際上是一個協(xié)議簇,其包括了很多協(xié)議。例如,ftp(文本傳輸協(xié)議)、smtp(郵件傳輸協(xié)議)等應(yīng)用層協(xié)議。tcp/ip協(xié)議的網(wǎng)絡(luò)模型只有4層,包括數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、數(shù)據(jù)傳輸層和應(yīng)用層,各層功能如下: tcp/ip網(wǎng)絡(luò)協(xié)議各層功能協(xié) 議 層 名功 能 概 述數(shù)據(jù)鏈路層網(wǎng)卡等網(wǎng)絡(luò)硬件設(shè)備以及驅(qū)動程序網(wǎng)絡(luò)層ip協(xié)議等互聯(lián)協(xié)議數(shù)據(jù)傳輸層為應(yīng)用程序提供通信方法,通常為tcp、udp協(xié)議應(yīng)用層負(fù)責(zé)處理應(yīng)用程序的實際用于層協(xié)議在數(shù)據(jù)傳輸層中,包括了tcp(transmission control protocol)和udp(user datagram protocol)協(xié)議。其中,tcp協(xié)議是基于面向連接的可靠的通信協(xié)議。其具有重發(fā)機制,即當(dāng)數(shù)據(jù)被破壞或者丟失時,發(fā)送方將重發(fā)該數(shù)據(jù)。而udp協(xié)議是基于用戶數(shù)據(jù)報協(xié)議,屬于不可靠連接通信的協(xié)議。例如,當(dāng)用戶使用udp協(xié)議發(fā)送一條消息時,并不知道該消息是否已經(jīng)到達接收方,或者在傳輸過程中數(shù)據(jù)已經(jīng)丟失。但是在即時通信中,udp協(xié)議在對一些對時間要求較高的網(wǎng)絡(luò)數(shù)據(jù)傳輸方面有著重要的作用。3.5 tcp傳輸3.5.1簡介tcp,transfer control protocol的縮寫(傳輸控制協(xié)議),是一種面向連接的網(wǎng)絡(luò)傳輸協(xié)議。tcp協(xié)議的特點是,支持多數(shù)據(jù)流操作,提供流控和錯誤控制,甚至能完成對亂序到達報文的重新排序等。因此,tcp提供了可靠的應(yīng)用數(shù)據(jù)傳輸服務(wù)。3.5.2通信雙方使用tcp傳輸?shù)囊话氵^程如圖:3.5.3 tcp協(xié)議和udp協(xié)議的區(qū)別(1)tcp協(xié)議面向連接,udp協(xié)議面向非連接(2)tcp協(xié)議傳輸速度慢,udp協(xié)議傳輸速度快(3)tcp協(xié)議保證數(shù)據(jù)順序,udp協(xié)議不保證(4)tcp協(xié)議保證數(shù)據(jù)正確性,udp協(xié)議可能丟包(5)tcp協(xié)議對系統(tǒng)資源要求多,udp協(xié)議要求少3.6 c/s編程模型客戶機/服務(wù)器模型,又稱為client/server模型,簡稱c/s架構(gòu),是一種非對稱式編程模式。c/s計算技術(shù)在信息產(chǎn)業(yè)當(dāng)中占有重要的地位。該模式的基本思想是把集中在一起的應(yīng)用劃分成為功能不同的兩個部分,分別在不同的計算機上運行,通過它們之間的分工合作來實現(xiàn)一個完整的功能。對于這種模式而言其中一部分需要作為服務(wù)器,用來響應(yīng)并為客戶提供固定的服務(wù);另一部分則作為客戶機程序用來向服務(wù)器提出請求或要求某種服務(wù)。 在此“服務(wù)器”是指能在網(wǎng)絡(luò)上提供服務(wù)的任何程序。服務(wù)器接受網(wǎng)絡(luò)上的請求,完成服務(wù)后將結(jié)果返回給申請者。對于簡單的服務(wù),把每個請求用一個ip數(shù)據(jù)報發(fā)給服務(wù)器,服務(wù)器用另一個數(shù)據(jù)報返回響應(yīng)??蛻魴C和服務(wù)器都是獨立的計算機。當(dāng)一臺連入網(wǎng)絡(luò)的計算機向其他計算機提供各種網(wǎng)絡(luò)服務(wù)(如數(shù)據(jù)、文件的共享等)時,它就被叫做服務(wù)器。而那些用于訪問服務(wù)器資料的計算機則被叫做客戶機。嚴(yán)格說來,客戶機/服務(wù)器模型并不是從物理分布的角度來定義,它所體現(xiàn)的是一種網(wǎng)絡(luò)數(shù)據(jù)訪問的實現(xiàn)方式。采用這種結(jié)構(gòu)的系統(tǒng)目前應(yīng)用非常廣泛。如賓館、酒店的客房登記、結(jié)算系統(tǒng),超市的pos系統(tǒng),銀行、郵電的網(wǎng)絡(luò)系統(tǒng)等。c/s編程模型是基于可靠連接的通信模型。在通信的雙方必須使用各自的ip地址以及端口進行通信。否則,通信過程將無法實現(xiàn)。通常情況下,當(dāng)用戶使用c/s模型進行通信時,其通信的任意一方稱為客戶端,則另一方稱為服務(wù)器端。服務(wù)器端等待客戶端連接請求的到來,這個過程稱為監(jiān)聽過程。通常,服務(wù)器監(jiān)聽功能是在特定的ip地址和端口上進行。然后,客戶端向服務(wù)器發(fā)出連接請求,服務(wù)器響應(yīng)該請求則連接成功。否則,客戶端的連接請求失敗。c/s編程模型如圖所示: c/s編程模型由于客戶端連接服務(wù)器時,需要使用服務(wù)器的ip地址和監(jiān)聽端口號才能完成連接。所以,服務(wù)器的ip地址和端口必須是固定的。在這里,向用戶介紹部分協(xié)議所使用的端口號碼。例如,http協(xié)議(網(wǎng)頁瀏覽服務(wù))所使用的端口號為80,ftp協(xié)議(文本傳輸)所使用的端口號是21。注意:用戶在實際編程中,通信雙方的連接以及數(shù)據(jù)通信均是基于socket(套接字)進行的。3.7 socket套接字用戶在windows中編寫網(wǎng)絡(luò)通信程序時,需要使用windows socket(windows套接字)。與windows套接字相關(guān)的api函數(shù)稱為winsock函數(shù)。在網(wǎng)絡(luò)通信的雙方,均有各自的套接字,并且該套接字與特定的ip地址和端口號相關(guān)聯(lián)。通常,套接字主要有兩種類型,分別是流式套接字(sock_stream)和數(shù)據(jù)報套接字(sock_dgram)。其中,流式套接字是專門用于使用tcp協(xié)議通信的應(yīng)用程序中,而數(shù)據(jù)報套接字則是專門用于使用udp協(xié)議進行通信的應(yīng)用程序中。3.8 網(wǎng)絡(luò)字節(jié)順序網(wǎng)絡(luò)字節(jié)順序是指tcp/ip協(xié)議中規(guī)定的數(shù)據(jù)傳輸使用格式,與之相對的字節(jié)順序是主機字節(jié)順序。網(wǎng)絡(luò)字節(jié)順序表示首先將數(shù)據(jù)中最重要的字節(jié)進行存儲。例如,當(dāng)數(shù)據(jù)0x358457使用網(wǎng)絡(luò)字節(jié)順序進行存儲時,該值在內(nèi)存中的存放順序?qū)⑹?x35、0x84、0x57。因為通信數(shù)據(jù)可能會在不同的機器之間進行傳輸,所以通信數(shù)據(jù)必須以相同的格式進行整理。只有經(jīng)過格式處理的通信數(shù)據(jù),才能在不同的機器之間進行傳輸。3.9 windows sockets在mfc類庫中,幾乎封裝了windows sockets的全部功能。在本節(jié)中,將向用戶介紹兩個主要的套接字相關(guān)類,分別是casyncsocket類和csocket類。3.9.1 casyncsocket類在微軟基礎(chǔ)類庫中,casyncsocket類封裝了異步套接字的基本功能。用戶使用該類進行網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)牟襟E如下:(1)調(diào)用構(gòu)造函數(shù)創(chuàng)建套接字對象。(2)如果創(chuàng)建服務(wù)器端套接字,則調(diào)用函數(shù)bind()綁定本地ip和端口,然后調(diào)用函數(shù)listen()監(jiān)聽客戶端的請求。如果請求到來,則調(diào)用函數(shù)accept()響應(yīng)該請求。如果創(chuàng)建客戶端套接字,則直接調(diào)用函數(shù)connect()連接服務(wù)器即可。(3)調(diào)用send()等功能函數(shù)進行數(shù)據(jù)傳輸與處理。(4)關(guān)閉或銷毀套接字對象。注意:在mfc中,所有類中均有一個變量m_hwnd表示該類的實例句柄。3.9.2 csocket類微軟的mfc提供了兩個類:casyncsocket和csocket,極大地方便了socket功能的使用。這兩個類的繼承關(guān)系如圖: mfc socket類的繼承關(guān)系csocket類派生于casyncsocket類。該類不但具有casyncsocket類的基本功能,還具有串行化功能。用戶在實際編程中,通過將csocket類與csocketfile類和carchive類一起使用,能夠很好地管理數(shù)據(jù)以及發(fā)送數(shù)據(jù)。用戶使用該類進行網(wǎng)絡(luò)編程的步驟如下: (1)創(chuàng)建csocket類對象。(2)如果創(chuàng)建服務(wù)器端套接字,則調(diào)用函數(shù)bind()綁定本地ip和端口,然后調(diào)用函數(shù)listen()監(jiān)聽客戶端的請求。如果請求到來,則調(diào)用函數(shù)accept()響應(yīng)該請求。如果創(chuàng)建客戶端套接字,則直接調(diào)用函數(shù)connect()連接服務(wù)器即可。(3)創(chuàng)建與csocket類對象相關(guān)聯(lián)的csocketfile類對象。(4)創(chuàng)建與csocketfile類相關(guān)聯(lián)的carchive對象。(5)使用carchive類對象在客戶端和服務(wù)器之間進行數(shù)據(jù)傳輸。(6)關(guān)閉或銷毀csocket類、csocketfile類和carchive類的3個對象。3.10 同步、異步、阻塞和非阻塞 同步(synchronous):所謂同步方式,就是發(fā)送方發(fā)送數(shù)據(jù)包以后,不等接受方響應(yīng),就接著發(fā)送下一個數(shù)據(jù)包。異步(asynchronous):異步方式就是當(dāng)發(fā)送方發(fā)送一個數(shù)據(jù)包以后,一直等到接受方響應(yīng)后才接著發(fā)送下一個數(shù)據(jù)包。阻塞(block):指執(zhí)行此套接字的網(wǎng)絡(luò)調(diào)用時,直到調(diào)用成功才返回,否則此套節(jié)字就一直阻塞在網(wǎng)絡(luò)調(diào)用上,比如調(diào)用streamreader 類的readlin ( )方法讀取網(wǎng)絡(luò)緩沖區(qū)中的數(shù)據(jù),如果調(diào)用的時候沒有數(shù)據(jù)到達,那么此readlin ( )方法將一直掛在調(diào)用上,直到讀到一些數(shù)據(jù),此函數(shù)調(diào)用才返回非阻塞(unblock):指在執(zhí)行此套接字的網(wǎng)絡(luò)調(diào)用時,不管是否執(zhí)行成功,都立即返回。同樣調(diào)用streamreader 類的readlin ( )方法讀取網(wǎng)絡(luò)緩沖區(qū)中數(shù)據(jù),不管是否讀到數(shù)據(jù)都立即返回,而不會一直掛在此函數(shù)調(diào)用上。在windows網(wǎng)絡(luò)通信軟件開發(fā)中,最為常用的方法就是異步非阻塞套接字。平常所說的c/s(客戶端/服務(wù)器)結(jié)構(gòu)的軟件采用的方式就是異步非阻塞模式的。3.11 多線程3.11.1 概念每個正在系統(tǒng)上運行的程序都是一個進程。每個進程包含一到多個線程。進程也可能是整個程序或者是部分程序的動態(tài)執(zhí)行。線程是一組指令的集合,或者是程序的特殊段,它可以在程序里獨立執(zhí)行。也可以把它理解為代碼運行的上下文。所以線程基本上是輕量級的進程,它負(fù)責(zé)在單個程序里執(zhí)行多任務(wù)。通常由操作系統(tǒng)負(fù)責(zé)多個線程的調(diào)度和執(zhí)行。線程是程序中一個單一的順序控制流程.在單個程序中同時運行多個線程完成不同的工作,稱為多線程.3.11.2 線程和進程的區(qū)別在于子進程和父進程有不同的代碼和數(shù)據(jù)空間,而多個線程則共享數(shù)據(jù)空間,每個線程有自己的執(zhí)行堆棧和程序計數(shù)器為其執(zhí)行上下文.多線程主要是為了節(jié)約cpu時間,發(fā)揮利用,根據(jù)具體情況而定. 線程的運行中需要使用計算機的內(nèi)存資源和cpu。3.11.3 多線程處理的優(yōu)點多線程技術(shù)使程序的響應(yīng)速度更快,因為用戶界面可以在進行其他工作的同時一直處于活動狀態(tài)。 (1)當(dāng)前沒有進行處理的任務(wù)可以將處理器時間讓給其他任務(wù)。 (2)占用大量處理時間的任務(wù)可以定期將處理器時間讓給其他任務(wù)。 (3)可以隨時停止任務(wù)(4)可以分別設(shè)置各個任務(wù)的優(yōu)先級以優(yōu)化性能。 (5)是否需要創(chuàng)建多線程應(yīng)用程序取決于多個因素。在以下情況下,最適合采用多線程處理: (6)耗時或大量占用處理器的任務(wù)阻塞用戶界面操作。 (7)各個任務(wù)必須等待外部資源(如遠(yuǎn)程文件或 internet 連接)。 3.11.4 線程缺點(1)如果有大量的線程,會影響性能,因為操作系統(tǒng)需要在它們之間切換。(2)更多的線程需要更多的內(nèi)存空間。(3)線程可能會給程序帶來更多“bug”,因此要小心使用。(4)線程的中止需要考慮其對程序運行的影響。(5)通常塊模型數(shù)據(jù)是在多個線程間共享的,需要防止線程死鎖情況的發(fā)生。3.11.5 線程同步是多線程編程的難點,在多線程應(yīng)用中,考慮不同線程之間的數(shù)據(jù)同步和防止死鎖。當(dāng)兩個或多個線程之間同時等待對方釋放資源的時候就會形成線程之間的死鎖。為了防止死鎖的發(fā)生,需要通過同步來實現(xiàn)線程安全。mfc中線程的同步最常用的四種同步對象:(1)臨界區(qū)(ccriticalsection)(2)事件(cevent)(3)互斥量(cmutex)(4)信號量(csemaphore)9第四章 需求分析第四章 需求分析4.1 整體需求分析隨著社會的發(fā)展,計算機網(wǎng)絡(luò)日新月異,人們的交流方式越來越多,傳統(tǒng)的交流方式,如:email,電話等已經(jīng)受到了挑戰(zhàn),利用網(wǎng)絡(luò)免費,及時的和好友取得聯(lián)系已經(jīng)成為通信的必然趨勢。因此出現(xiàn)了qq,微信等聊天工具。然而這些聊天工具雖然方便、實用,但是,由于其功能太多,如游戲,社區(qū),電子郵件等功能,占據(jù)內(nèi)存空間過大,從一定程度上來說,更多的已經(jīng)演變成了一種娛樂工具,不能作為即時通訊的專用工具。簽于此,一個內(nèi)容簡單,消耗內(nèi)存小,友好簡潔的即時通訊的網(wǎng)絡(luò)聊天工具的開發(fā)就顯得必不可少了,而我們知道,網(wǎng)絡(luò)通訊少不了相應(yīng)的通信協(xié)議的支持,所以設(shè)計一個專用于支持計算機之間即時通訊的網(wǎng)絡(luò)聊天協(xié)議就顯得必不可少。4.2 可行性分析4.2.1 技術(shù)可行性visual c+ 6.0提供了功能強大的開發(fā)平臺,編碼,調(diào)試和運行于一體,使得程序界面的實現(xiàn)簡單、快速、標(biāo)準(zhǔn)。mfc提供了簡單易用的框架,用其進行前臺設(shè)計,方便簡單。winsock為windows網(wǎng)絡(luò)編程提供了豐富的接口技術(shù),結(jié)合多線程技術(shù),使得此處的基于tcp網(wǎng)絡(luò)編程具有良好的健壯性和強大的可擴展性。同時,msdn library為編碼提供了大量可直接調(diào)用的函數(shù),為編碼的是吸納提供了很大的方便,在mfc編碼過程中,visual assist x具有代碼輸入更迅速,錯誤自動校正,信息獲取更加快速,增加了色彩和格式,拼寫檢查,拓展了基本編輯等功能,具有強大的編輯特色,增強microsoft開發(fā)環(huán)境下的編輯能力,提高了生產(chǎn)效率。本軟件最后所生成的.exe可執(zhí)行文件具有很好的可移植性。4.2.2 經(jīng)濟可行性經(jīng)濟可行性研究主要是預(yù)估費用支出和對項目的經(jīng)濟效益進行評價,由于本系統(tǒng)的主要背景是畢業(yè)課程設(shè)計,不注重直接的經(jīng)濟效益和其后的發(fā)展方向,只在注重自身水平和能力的提高,對自身的經(jīng)濟要求也不高,只要有一臺能運行visual c+6.0軟件的電腦便可,所以不用考慮到經(jīng)濟問題。4.2.3 運行可行性本系統(tǒng)為一個小型的即時聊天系統(tǒng),所耗費的資源非常的小,現(xiàn)在一般的電腦無論是硬件還是軟件都能夠滿足條件,因此,本系統(tǒng)在運行上是可行的。綜上所述,本系統(tǒng)的設(shè)計與開發(fā)在技術(shù)上和硬件設(shè)備上的條件都是滿足的,因此,它是可行的。第五章 概要設(shè)計第五章 概要設(shè)計5.1 性能要求 隨著網(wǎng)絡(luò)的發(fā)展,不同的開發(fā)商開發(fā)了不同的即時通訊的應(yīng)用協(xié)議。為了使通信成功可靠,網(wǎng)絡(luò)中的同一種即時通訊軟件,都必須使用同一語言,不能帶有方言。因而必須嚴(yán)格的定義不同用戶之間的每個包中每個字節(jié)中的每一位。這些協(xié)議絕大多數(shù)建立在tcp/ip協(xié)議族上,約定好通用的通信方式、語義、及數(shù)據(jù)格式,即即時通訊應(yīng)用協(xié)議。已經(jīng)開發(fā)的眾多協(xié)議中筆者認(rèn)為較為成功的當(dāng)屬qq、微信、淘寶旺旺等。不同的開發(fā)商因即時通訊軟件的應(yīng)用重心不同,其協(xié)議的側(cè)重點也不同,且絕大多數(shù)為廠商保密。本協(xié)議的設(shè)計旨在開發(fā)一開放的、安全的、可擴展的、易于程序開發(fā)的即使通訊軟件協(xié)議。5.1.1在設(shè)計即時通訊協(xié)議時,筆者認(rèn)為有幾點必須考慮:(1) 協(xié)議對下層協(xié)議的支持考慮到程序開發(fā)者對下層協(xié)議選擇上有不同的看法,協(xié)議設(shè)計時必須考慮下層的協(xié)議,以便程序開發(fā)者根據(jù)不同的下層協(xié)議運用不同的傳輸手段。(2)數(shù)據(jù)的保密由于即時通訊軟件的不同需求,開發(fā)者可能要對傳輸?shù)臄?shù)據(jù)進行加密,因此在協(xié)議中應(yīng)該對數(shù)據(jù)是否加密、加密算法留有標(biāo)記。本次協(xié)議設(shè)計未實現(xiàn)這一點。(3) 傳輸可靠性:由于網(wǎng)絡(luò)傳輸?shù)牟环€(wěn)定性,根據(jù)經(jīng)驗大于1024byte的包較小于1024byte的包更易丟失,因此在應(yīng)用層傳給傳輸層的包應(yīng)小于1000byte,而實際的數(shù)據(jù)包往往大于1000byte,因此應(yīng)在協(xié)議中留有分篇傳輸?shù)奈?本次設(shè)計也未能實現(xiàn)這一點,只是通過限制傳輸?shù)臄?shù)據(jù)來機械的控制了這一點。(4)協(xié)議的通用性與可擴展性:由于無法對新技術(shù)的發(fā)展有精確的把握應(yīng)在協(xié)議中留有冗余位,以便適應(yīng)新的應(yīng)用。(5)協(xié)議的簡潔高效性:協(xié)議的設(shè)計不應(yīng)過于復(fù)雜,應(yīng)給程序員開發(fā)程序留有”自由空間”。5.2 通訊協(xié)議格式設(shè)計5.2.1協(xié)議字段設(shè)計圖示此通訊協(xié)議具體格式,包括判斷消息屬于哪個類型、消息發(fā)送者、消息接收者、發(fā)送數(shù)據(jù)、消息長度共5部分,其字節(jié)分配如圖所示與表示的含義:標(biāo)識funsender28recerverid28connect1024len數(shù)據(jù)類型enum(fun)char char char int含義消息類型發(fā)送者接受者發(fā)送數(shù)據(jù)消息長度長度(byte)42828102445.2.2協(xié)議字段設(shè)計說明西安工程大學(xué)學(xué)士學(xué)位論文(1) fun功能標(biāo)識定義為枚舉類型(enum),占4個byte。用它來聲明一組命名的常數(shù),當(dāng)一個變量有幾種可能的取值時,可以將它定義為枚舉類型,在win32機器上,枚舉類型所占字節(jié)數(shù)總是4byte,在上面代碼片段中sizeof(enum),;sizeof(fun),sizeof(login)都是4byte。(2) fun分別包括login,logout,logok,logerr,shake,transmit,svrstop,errl。llogin表示用戶登錄,logout表示用戶退出,logok表示用戶登陸成功,logerr表示用戶登陸失敗,shake表示震動,transnit表示信息傳輸,srrstop表示服務(wù)器停止,err表示數(shù)據(jù)傳送出錯。(2) senderid是發(fā)送者的標(biāo)識,用以標(biāo)記信息的來源id;(3) recerverid是接收者的標(biāo)識,用以標(biāo)記信息的目的id;(4) connect是要傳輸?shù)臄?shù)據(jù);(5) len記錄了傳輸數(shù)據(jù)的長度,用于在服務(wù)器端進行簡單校驗,如果出錯,則提醒發(fā)送者傳輸錯誤,同時直接丟棄接受到的錯誤數(shù)據(jù),否則轉(zhuǎn)發(fā)數(shù)據(jù)給接收者;5.3 軟件工作模式圖5.4 軟件設(shè)計原理5.4.1 協(xié)議工作編程原理(1) 創(chuàng)建csocket對象,創(chuàng)建兩個csocket對象,分別為服務(wù)器端和客戶端的對象,如圖:csocket serversocket;csocket clientsocket;(2)使用csocket對象的create()函數(shù)來創(chuàng)建windows socket。同時,create()函數(shù)會自行調(diào)用bind()函數(shù)將此scoket綁定到指定的地址上面。例如:serversocket.create(5000); /服務(wù)器端需要指定一個端口號clientsocket.create(); /客戶端不用指定端口號(3)對于服務(wù)器端,需要這個socket不停地監(jiān)聽是否有來自于網(wǎng)絡(luò)上的鏈接請求,因此需要調(diào)用監(jiān)聽函數(shù)。例如:serversocket.listen();(4)對于客戶端,實行連接,例如:clientsocke

溫馨提示

  • 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

提交評論