基于Linux的Socket網絡編程的性能優化
1 引言
隨著Intenet的日益發展和普及,網絡在嵌入式系統中應用非常廣泛,越來越多的嵌入式設備采用Linux操作系統。Linux是一個源代碼公開的免費操作系統,具有強移植性,所以對基于Linux的Socket網絡編程的研究越來越重要。
Socket實際是網絡傳輸層供給應用層的編程接口。傳輸層則在網絡層的基礎上提供進程到進程問的邏輯通道,而應用層的進程則利用傳輸層向另一臺主機的某一進程通信。Socket就是應用層與傳輸層之間的橋梁。如圖2所示。
使用Socket編程時可以開發客戶機和服務器應用程序,它們可以在本地網絡上進行通信,也可以通過Internet在全球范圍內進行通信。編寫并運行 Socket的客戶端和服務器端程序,雙方通過套接字建立了服務連接請求,并且通過一些方法提高Socket的性能。
3 Socket編程
3.1 Socket類型
常見的Socket有3種類型:
(1)流式Socket(SOCK_STREAM)它提供可靠的通信流,使用面向連接的TCP協議,從而保證數據傳輸的正確性和順序性:
(2)數據報Socket(SOCK_DGRAM)數據通過相互獨立的報文進行傳輸,是無序的,并且不保證可靠,無差錯,它定義一種面向無連接的服務,使用數據報協議UDP;
(3)原始Socket(SOCK_RAM)它允許直接訪問底層協議,功能強大但使用較為不便,主要用于一些協議的開發。本編寫的Socket屬于流式Socket。
p2p機相關文章:p2p原理
評論