902 - QNX網絡驅動相關

 套接字接口的種類

 

Linux 支持多種套接字種類,不同的套接字種類稱爲“地址族”,這是因爲每種套接字種類擁有自己的通訊尋址方法。Linux 所支持的套接字地址族見表12.3

Linux將上述套接字地址族抽象爲統一的 BSD 套接字接口,應用程序關心的只是 BSD 套接字接口,而 BSD 套接字由各地址族專有的軟件支持。一般而言,BSD 套接字可支持多種套接字類型,不同的套接字類型提供的服務不同,Linux 所支持的部分 BSD 套接字類型見表 12.4但表12.3中的套接字地址族並不一定全部支持表12.4中的這些套接字類型。

 

 

 

12. 3     Linux 支持的套接字地址族

套接字地址族

描述

UNIX

UNIX 域套接字

INET

通過 TCP/IP 協議支持的 Internet地址族

AX25

Amater radio X25

APPLETALK

Appletalk DDP

IPX

Novell IPX

X25

X25

 

 

       12.4     Linux 所支持的 BSD 套接字類型

       BSD 套接字類型

 描述

流(stream

這種套接字提供了可靠的雙向順序數據流,可保證數據不會在傳輸過程中丟失、破壞或重複出現。流套接字通過 INET 地址族的TCP 協議實現。

數據報(datagram

 這種套接字也提供雙向的數據傳輸,但是並不對數據的傳輸提供擔保,也就是說,數據可能會以錯誤的順序傳遞,甚至丟失或破壞。這種類型的套接字通過 INET 地址族的UDP 協議實現。

原始(raw

 利用這種類型的套接字,進程可以直接訪問底層協議(因此稱爲原始)。例如,可在某個以太網設備上打開原始套接字,然後獲取原始的 IP 數據傳輸信息。

可靠發送的消息

 和數據報套接字類似,但保證數據被正確傳輸到目的端。

順序數據包

 和流套接字類似,但數據包大小是固定的。

數據包(packet

 這並不是標準的 BSD 套接字類型,它是Linux 專有的 BSD 套接字擴展,可允許進程直接在設備級訪問數據包。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章