發(fā)表于2008年08月02日 00:28 閱讀(8) 評論(0)

在Unix操作系統(tǒng)中,幾乎任何東西(磁盤,用戶終端,網(wǎng)絡連接)都可以用一個文件描述符來表示,這種統(tǒng)一性使得Unix程序員可以寫出設(shè)備無關(guān)的應用程序。

Socket也是一個文件描述符,只不過這個文件描述符表示的是網(wǎng)絡,應用程序?qū)τ谶@個描述符的讀寫就是對網(wǎng)絡數(shù)據(jù)的讀寫。

在建立一個Socket的時候,可以把它綁定到一個網(wǎng)絡地址上的一個端口,一旦綁定成功,應用程序就可以用這個Socket來傳送和接收數(shù)據(jù)了。

 

 

應用程序可以選擇用TCP還是UDP連接,TCP可靠建立連接,UDP不可靠不建連接。

2.1 面向連接的套接字的系統(tǒng)調(diào)用時序圖


2.2 無連接協(xié)議的套接字調(diào)用時序圖


2.3 面向連接的應用程序流程圖

 

//圖片來自:http://www.vckbase.com/document/viewdoc/?id=484