嵌入式Linux網路程式設計(一)

2021-07-08 14:37:56 字數 673 閱讀 3944

網路協議

國際標準組織(iso)制定了osi模型,把網路通訊分為7層。而tcp/ip將網路通訊分為4層:應用層,傳輸層,網路互連層,網路介面層。

socket介面是tcp/ip網路的api,定義了許多函式和例子。

(1)結構體sockaddr

struct sockaddr;

sa_family:   一般是af_inet,代表internet(tcp/ip)位址族的ipv4協議。

sa_data:     包含了一些遠端計算機的ip位址,埠號和套接字的數目。

(2)結構體sockaddr_in

struct sockaddr_in

sin_zero用來將sockaddr_in結構填充到與struct sockaddr同樣的長度。

2.ip位址轉換

在網路中ip都是點分十進位制的格式,如"192.168.0.1",而在struct in_addr結構中用的是32位的ip,上面那個32位ip轉換可以用到下面兩個函式:

int inet_aton(const char *cp,struct in_addr *inp)

char *inet_ntoa(struct in_addr in)

第乙個函式表示將「a.b.c.d」的ip轉換成32位的ip,儲存在inp指標中;第二個函式將32位ip轉換成「a.b.c.d」的格式。

嵌入式Linux網路程式設計

osi 七層模型 理想模型 應用層 表示層 會話層 傳輸層 網路層 資料鏈路層 物理層 tcp ip 四層模型 廣泛應用 應用層 傳輸層 網路層 internet 網路介面層 hw 網絡卡 對應關係 tcp ip模型各層對應的協議 應用層協議 http ftp telnet 傳輸層協議 埠號工作在該...

Linux嵌入式之 網路程式設計socket

socket是應用層與tcp ip協議族通訊的中間軟體抽象層,它是一組介面。在設計模式中,socket其實就是乙個門面模式,它把複雜的tcp ip協議族隱藏在socket介面後面,對使用者來說,一組簡單的介面就是全部,讓socket去組織資料,以符合指定的協議。門面模式,用自己的話說,就是系統對外界...

嵌入式程式設計

1 interrupt double compute area double radis 1 isr不能返回乙個值。2 isr不能傳遞引數。3 在許多處理器中浮點是不可重入的。4 printf 經常有重入和效能上的問題,所以一般不使用printf 2.volatile 1 volatile的語法和c...