socket含義(socket是什么意思)
哈嘍,小天來為大家解答以下的問題,關(guān)于socket含義,socket是什么意思這個很多人還不知道,那么現(xiàn)在讓我?guī)е蠹乙黄饋砜纯窗桑?/p>
1、什么是socket? 你經(jīng)常聽到人們談?wù)撝皊ocket”,或許你還不知道它的確切含義。
2、現(xiàn)在讓我告訴你:它是使用標準Unix文件描述符(filedescriptor)和其它程序通訊的方式。
3、什么?你也許聽到一些Unix高手(hacker)這樣說過:“呀,Unix中的一切就是文件!”那個家伙也許正在說到一個事實:Unix程序在執(zhí)行任何形式的I/O的時候,程序是在讀或者寫一個文件描述符。
4、一個文件描述符只是一個和打開的文件相關(guān)聯(lián)的整數(shù)。
5、但是(注意后面的話),這個文件可能是一個網(wǎng)絡(luò)連接,F(xiàn)IFO,管道,終端,磁盤上的文件或者什么其它的東西。
6、Unix中所有的東西就是文件!所以,你想和Internet上別的程序通訊的時候,你將要使用到文件描述符。
7、你必須理解剛才的話。
8、現(xiàn)在你腦海中或許冒出這樣的念頭:“那么我從哪里得到網(wǎng)絡(luò)通訊的文件描述符呢?”,這個問題無論如何我都要回答:你利用系統(tǒng)調(diào)用socket(),它返回套接字描述符(socketdescriptor),然后你再通過它來進行send()和recv()調(diào)用。
9、“但是...”,你可能有很大的疑惑,“如果它是個文件描述符,那么為什么不用一般調(diào)用read()和write()來進行套接字通訊?”簡單的答案是:“你可以使用!”。
10、詳細的答案是:“你可以,但是使用send()和recv()讓你更好的控制數(shù)據(jù)傳輸。
11、”存在這樣一個情況:在我們的世界上,有很多種套接字。
12、有DARPAInternet地址(Internet套接字),本地節(jié)點的路徑名(Unix套接字),CCITTX.25地址(你可以將X.25套接字完全忽略)。
本文分享完畢,希望對大家有所幫助。
標簽: