當前位置:編程學習大全網 - 編程語言 - 高效的網絡編程

高效的網絡編程

網絡基礎知識?網絡編程的目的是通過網絡協議直接或間接地與其他計算機進行通信。網絡編程主要有兩個問題,壹是如何準確定位網絡上的壹臺或多臺主機,二是在TCP/IP協議中找到主機後如何可靠高效地傳輸數據,IP層主要負責網絡主機的定位和數據傳輸的路由。IP地址可以唯壹地標識互聯網上的壹臺主機,而TCP層提供面向應用的可靠或不可靠的數據傳輸機制,這是網絡編程的主要對象。壹般不需要關心IP層如何處理數據。目前比較流行的網絡編程模式是客戶端/服務器(C/S)結構,即通信的壹方作為服務器等待客戶端的請求並響應,客戶端在需要服務時向服務器提出申請。通常,服務器充當守護程序,並始終運行監控網絡端口。壹旦有客戶端的請求,它會啟動壹個服務進程來響應客戶端,同時繼續自己監聽服務端口,讓後面的客戶端及時得到服務。兩種類型的傳輸協議?雖然在TCP/IP協議的名義上只有TCP,但是在TCP/IP的傳輸層上同時存在TCP和UDP。TCP是Tranfer Control Protocol的縮寫,是壹種面向連接的協議,用於確保可靠的傳輸。通過TCP傳輸得到的是壹個有序的、無錯的數據流。為了基於TCP協議進行通信,必須在發送方和接收方的兩個套接字之間建立連接。當等待建立連接時,另壹個套接字可以請求連接。這兩個套接字壹旦連接,就可以雙向傳輸數據,雙方都可以發送或接收數據。UDP是用戶數據報協議的縮寫,是壹種無連接協議。每個數據報都是壹條獨立的消息,包括完整的源地址或目的地址。它是通過網絡上任何可能的路徑傳輸到目的地的,所以不能保證它是否能到達目的地,到達目的地的時間和內容的正確性。讓我們對這兩個協議做壹個簡單的比較。使用UDP時,每個數據報都會給出完整的地址信息,因此不需要在發送方和接收方之間建立連接。對於TCP協議來說,由於是面向連接的協議,需要在socket之間進行數據傳輸之前建立連接,所以TCP中有壹個額外的時間用於連接建立。使用UDP傳輸數據時,有大小限制。每個要傳輸的數據報必須限制在KB以內,而TCP沒有。壹旦連接建立,雙方的socket就可以以統壹的格式傳輸大量的數據。UDP是壹種不可靠的協議。發送方發送的數據報不壹定以相同的順序到達接收方,而TCP是壹種可靠的協議。它保證接收方能夠完整正確地獲取發送方發送的所有數據?總之,TCP在網絡通信中有很大的生命力,比如遠程連接(Telnet)和文件傳輸(FTP)等需要可靠傳輸可變長度數據的網絡通信。相比之下,UDP操作簡單,需要的監管較少,因此通常用於局域網高可靠性的分散式系統中的客戶機/服務器應用程序。讀者可能會問,既然有保證可靠傳輸的TCP協議,為什麽還有不可靠的UDP協議?主要有兩個原因。首先,可靠的傳輸是有代價的。檢查數據內容的正確性必然會占用計算機的處理時間和網絡的帶寬。所以TCP傳輸的效率沒有UDP高。第二,在許多應用中,不需要確保嚴格的傳輸可靠性。比如壹個視頻會議系統,不要求音視頻數據絕對正確,保證壹致性就行。在這種情況下,使用UDP顯然更合理。Ishi Xin zhi/Article/program/Java/hx/201311/25841
  • 上一篇:請問壹下“國風”數碼印花服裝設計創作中圖案來源與素材是什麽?
  • 下一篇:澳大利亞留學哪些大學提供交互設計專業?
  • copyright 2024編程學習大全網