鍍金池/ 問答/Java  C++  Linux/ 網(wǎng)絡(luò)編程中的socket()和accept()兩個函數(shù)返回的都是套接字,那么它們

網(wǎng)絡(luò)編程中的socket()和accept()兩個函數(shù)返回的都是套接字,那么它們具體的區(qū)別是什么呢?

以前只是簡單的知道它們是有區(qū)別的,但是具體不是很清楚它們有什么區(qū)別。希望前輩們可以解答一下疑惑。

回答
編輯回答
維他命

socket()是創(chuàng)建一個socket描述符,用于后續(xù)的bind和accpet調(diào)用(或者connect調(diào)用)。對于服務(wù)器程序,accept傳入的參數(shù)是socket()創(chuàng)建出來的,返回的描述符表示一個可以跟對端客戶端通信(read,write)用的描述符。accept每次返回正確的話,都會得到一個新的描述符。

2018年2月26日 06:21
編輯回答
疚幼

socket返回的是套接字對象,用于監(jiān)聽或連接。而accept返回的是一個元組,一個元素是套接字對象,用于數(shù)據(jù)收發(fā),另一個元素是地址元組。

2018年5月16日 23:51