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