UDP服務器設計_第1頁
UDP服務器設計_第2頁
UDP服務器設計_第3頁
UDP服務器設計_第4頁
UDP服務器設計_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上Last revision on 21 December 2020UDP服務器設計專心-專注-專業(yè)計算機網絡課程設計集中上機實驗報告學 生: 學 號: 班 級: 專 業(yè): 重慶郵電大學移通學院 2014年12月目錄一 課程設計的目的和意義課程設計的目的目的:設計一個基于UDP的服務器課程設計的意義意義:UDP是TCP/IP協議族為傳輸層設計的兩個協議之一,它在進程與進程的通信過程中,提供了有限的差錯校驗功能,是一種無連接的,不可靠的協議。UDP在一個較低的水平上完成進程之間的通信,在收到分組的時候沒有流量控制機制也沒有確認機制,適用于可靠性比較高的局域網。由于UDP采

2、取了無連接的方式,因此協議簡單,在一些特定的應用中協議運行效率高。UDP適合一些實時的應用,如IP電話,視頻會議,它們要求源主機以恒定的速率發(fā)送數據,并且在網絡出現擁塞時,可以丟失一些數據,但是延遲不能太大。基于這些特點,流式多媒體通信、多播等應用在傳輸層采用的就是UDP協議。因為UDP具有TCP所望塵莫及的速度優(yōu)勢。雖然TCP協議中植入了各種安全保障功能,但是在實際執(zhí)行的過程中會占用大量的系統開銷,無疑使速度受到嚴重的影響。反觀UDP由于排除了信息可靠傳遞機制,將安全和排序等功能移交給上層應用來完成,極大降低了執(zhí)行時間,使速度得到了保證。二 課程設計題目和要求 UDP服務器的設計UDP是TC

3、PIP協議族為傳輸層設計的兩個協議之一,是一種無連接的,不可靠的協議。由于UDP采取了無連接的方式,因此協議簡單,在一些特定的應用中協議運行效率高。UDP適合一些實時的應用,如IP電話、視頻會議,它們要求源主機以恒定的速率發(fā)送數據,并且在網絡出現擁塞時,可以丟失一些數據,但是延遲不能太大?;谶@些特點,流式多媒體通信、多播等應用在傳輸層采用的就是UDP協議。 編寫UDP服務器程序,流暢地完成視頻文件地傳輸,要能對多個客戶端進行管理。需要通過UDP模擬多個客戶端連接驗證的情況。 UDP服務器設計的要求編寫程序,設計UDP服務器。因為考慮到實時性,所以選擇UDP為主要的網絡通信技術。(1)程序能流

4、暢地完成信息內容的傳輸和接收。(2)要能對多個客服端進行管理。需要通過UDP模擬多個客服端連接驗證的情況。(3)操作系統、使用語言和編譯環(huán)境不限,但在作業(yè)中必須注明。 UDP服務器的設計原理UDP是一個無連接協議,傳輸數據之前源端和終端不建立連接,當它想傳送時就簡單地去抓取來自應用程序的數據,并盡可能快地把它扔到網絡上。在發(fā)送端,UDP傳送數據的速度僅僅是受應用程序生成數據的速度、計算機的能力和傳輸帶寬的限制;在接收端,UDP把每個消息段放在隊列中,應用程序每次從隊列中讀一個消息段。(1) C+編程技術C+是在C語言的基礎上開發(fā)的一種集面向對象編程、泛型編程和過程化編程于一體的編程語言1 。應

5、用較為廣泛,是一種靜態(tài)數據類型檢查的,支持多重編程的通用程序設計語言。它支持過程化程序設計,數據抽象,面向對象設計,制作圖標等多種程序設計風格。(2) TCP/IP協議技術在TCP/IP協議族中,有兩個互不相同的傳輸協議:TCP(傳輸控制協議)和UDP(用戶數據報協議)。TCP為兩臺主機提供高可靠性的數據通信。它所做的工作包括把應用程序交給它的數據分成合適的小塊交給下面的網絡層,確認接收到的分組,設置發(fā)送最后確認分組的超時時鐘等。由于運輸層提供了高可靠性的端到端的通信,因此應用層可以忽略所有這些細節(jié)。而另一方面,UDP則為應用層提供一種非常簡單的服務。它只是把稱作數據報的分組從一臺主機發(fā)送到另

6、一臺主機,但并不保證該數據報能到達另一端。任何必需的可靠性必須由應用層來提供。(3) TCP/IP協議與Winsock網絡編程接口Winsock規(guī)范不是一種網絡協議,而是一套開放的、支持多種協議的Windows寫的網絡編程接口。Winsock可以訪問很多種網絡協議,可以把它當作一種協議的封裝。現在的Winsock已經基本上實現了與協議無關,可以使用Winsock來調用協議的功能(4) Winsock API的使用下面給出了使用Winsock進行編程時涉及的主要函數:WSAStartup函數、WSACleanup函數、socket函數、closesocket函數、send函數、recv函數、bi

7、nd函數、listen函數、accept函數、connect函數三 詳細設計需求分析隨著信息化的全面建設和普及中,服務器的角色舉足輕重,它為計算機提供網絡和技術的服務,也是整個網絡系統的核心部分,中小企業(yè)的建設會有很多波折和阻礙,前期是資金問題,在服務器方面秉著少花錢多辦事,高回報的原則。對于服務器方面能省則省,對于設置專門的技術人員維護服務器的企業(yè)也是屈指可數的,所以一般會選擇服務器租用服務和服務器代維服務,這對于服務器方面的開支就在可控成本之內了。價格低廉,服務器有了穩(wěn)定保障,這也是目前很多中小企業(yè)的普遍做法。其次就是在挑選服務器方面,根據企業(yè)的實際業(yè)務,明確規(guī)劃服務器租用方向是很有必要的

8、,隨著業(yè)務量的不斷上升,調整服務器的配置,從而保證資金和服務器得到充分利用。目前企業(yè)級的服務器大致有文件服務器,數據庫服務器,郵件服務器,web服務器,多媒體服務器,終端服務器等類型。這些服務器是根據企業(yè)的不同業(yè)務設置的。UDP服務器是采用UDP協議的一類服務器的統稱。UDP不屬于連接型協議,因而具有資源消耗小,處理速度快的優(yōu)點,所以通常音頻、視頻和普通數據在傳送時使用UDP較多,因為它們即使偶爾丟失一兩個數據包,也不會對接收結果產生太大影響。比如我們聊天用的ICQ和QQ就是使用的UDP協議。所以根據企業(yè)的發(fā)展方向和業(yè)務要求,合理的搭配是很有必要的。相關設計設計UDP服務器的過程如下所示。首先

9、,創(chuàng)建又一個Socket 并監(jiān)聽。然后啟動線程接收數據。用一個鏈表保存所有連上的客戶,并通知連接成功。這樣,客戶就有機會處理這一事件并作一些動作。最后,當客戶斷開時,向服務器發(fā)送一個事件,服務器就可以做一些收尾工作。其中最關鍵的部分是收發(fā)部分和數據處理部分。程序流程Bind()Socket()Readfrom()等待客戶請求處理服務請求Sendto()Close()Socket()Bind()Sendto()Readfrom()Close()服務請求服務應答服務器客戶機圖 服務器工作流程客戶機一方的工作流程(1) 打開通信信道(申請一個套接字),并連接到服務器在主機的保留端口,該端口對應服務器的UDP進程。(2) 向服務器發(fā)出請求報文,等待接收應答。(3) 從服務器方收到最終應答結果,或在不再請求時關閉信道并終止客戶機進程。服務器一方的工作流程(1) 打開通信信道(申請一個套接字),通知本地主機在某一保留端口接收客戶機請求。(2) 等待客戶機請求到達指定端口。(3) 接收到請求,啟動一個新進程處理用戶請求,同時釋放舊進程以響應新的客戶請求,一旦服務完成,關閉新進程與客戶的通信鏈路。(4) 繼續(xù)等待客戶機請求。(5) 如果不想響應客戶機請求,關閉服務器進程。四 代碼及注解客戶端程序代碼#include <>#i

溫馨提示

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

評論

0/150

提交評論