Linux 網路程式設計

2021-08-13 08:35:48 字數 1044 閱讀 5525

1. tcp/ip理論基礎

tcp/ip協議族是乙個四層協議系統,分別是應用層、傳輸層、網路層、網路介面。每一層完成不同的功能,且通過若干協議來實現,上層協議使用下層協議提供的服務。

應用層tftp、ftp、telnet、dns

傳輸層tcp、udp

網際層icmp、ip、arp、rarp

網路介面

fddi、pdn、ppp、ieee 802.1a、ieee 802.2

tcp:tcp是重要的傳輸層協議,目的是允許資料同網路上的其他節點進行可靠的交換。它能提供埠編號的解碼,以識別主機的應用程式,而且完成資料的可靠傳輸tcp 協議具有嚴格的內裝差錯檢驗演算法確保資料的完整性tcp 是面向位元組的順序協議,這意味著包內的每個位元組被分配乙個順序編號,並分配給每包乙個順序編號

udp:udp也是傳輸層協議,它是無連線的,不可靠的傳輸服務.當接收資料時它不向傳送方提供確認資訊,它不提供輸入包的順序,如果出現丟失包或重份包的情況,也不會向傳送方發出差錯報文.由於它執行功能時具有較低的開銷,因而執行速度比tcp快

tcp與udp的比較

tcp:一種可靠的、面向連線的和基於流的服務 

udp:不可靠、無連線和基於資料報的服務

tcp:一對一的 

udp:適用廣播和多播

tcp:執行速度慢 

udp:執行速度快

2. socket

linux中的網路程式設計通過socket(套接字)介面實現,socket是一種檔案描述符。

進行socket程式設計的常用函式有:

socket:建立乙個socket

connect:該函式用於繫結之後的client端與伺服器建立連線

listen:設定能處理的最大連線要求,listen()並未開始接收連線,只是設定socket為listen模式。

accept:用來接受socket連線。

send:傳送資料

recv:接收資料

Linux網路程式設計

linux網路程式設計 當然,我們現在,將要開始編寫的第乙個網路程式,雖然非常簡單,但是卻可以很 清楚的說明大部分編寫網路程式需要的基本概念,好了先讓我們看看網路程式的tcp服 務器端的編寫步驟 1.和伺服器的步驟一樣。2.通過設定套介面位址結構,我們說明,客戶端要與之通訊的伺服器的ip位址和 埠。...

linux 網路程式設計

當然,我們現在,將要開始編寫的第乙個網路程式,雖然非常簡單,但是卻可以很 清楚的說明大部分編寫網路程式需要的基本概念,好了先讓我們看看網路程式的tcp服 務器端的編寫步驟 現在讓我們來看看網路程式客戶端的程式設計步驟 以上的步驟,是比較普遍的,我們可以從中看出,編寫網路程式是很有意思的,同 時,也不...

linux 網路程式設計

套接字程式設計 struct sockaddr unsigned short sa family 位址協議,ipv4 tcp ip af inet,ipv6 af inet6 char sa data 14 14位元組的位址協議 struct sockaddr in unsigned short s...