首先讓大家了解下Unix操作系統中TCP/UDP的知識,然後全面介紹Unix操作系統,希望對大家對Unix操作系統的學習有所幫助。
Unix操作系統中TCP/UDP介紹
TCP(Transfer Control Protocol)傳輸控制協議是一種面向連接的協議,當我們的網絡程序使用這個協議的時候,網絡可以保證我們的客戶端和服務端的連接是可靠的,安全的.
UDP(User Datagram Protocol)用戶數據報協議是一種非面向連接的協議,這種協議並不能保證我們 的網絡程序的連接是可靠的,所以我們現在編寫的程序一般是采用TCP協議的.
Unix操作系統初等網絡函數介紹(TCP)
Unix操作系統是通過提供套接字(socket)來進行網絡編程的.網絡程序通過socket和其它幾個函數的調用,會返回一個 通訊的文件描述符,我們可以將這個描述符看成普通的文件的描述符來操作,這就是Unix操作系統的設備無關性的 好處.我們可以通過向描述符讀寫操作實現網絡之間的數據交流.
- socket int socket(int domain, int type,int protocol)
domain:說明我們網絡程序所在的主機采用的通訊協族(AF_UNIX和AF_INET等). AF_UNIX只能夠用於單一的Unix操作系統進程間通信,而AF_INET是針對Internet的,因而可以允許在遠程 主機之間通信(當我們 man socket時發現 domain可選項是 PF_*而不是AF_*,因為glibc是posix的實現 所以用PF代替了AF,不過我們都可以使用的).
type:我們網絡程序所采用的通訊協議(SOCK_STREAM,SOCK_DGRAM等) SOCK_STREAM表明我們用的是TCP協議,這樣會提供按順序的,可靠,雙向,面向連接的比特流. SOCK_DGRAM 表明我們用的是UDP協議,這樣只會提供定長的,不可靠,無連接的通信.
protocol:由於我們指定了type,所以這個地方我們一般只要用0來代替就可以了 socket為網絡通訊做基本的准備.成功時返回文件描述符,失敗時返回-1,看errno可知道出錯的詳細情況.
以上就是我們這次要講的關於Unix操作系統中TCP/UDP介的知識,希望對大家對Unix操作系統的學習有所幫助。