來源:http://beej.us/guide/bgnet/output/html/singlepage/bgnet.html套接字描述符基本上是文件描述符的同義詞嗎?
所以,當你想在互聯網上 你要做到這一點通過文件描述符與其它程序通信,你最好相信它。
「?我在哪裏得到這個文件描述了網絡通信,先生 Smarty的褲」可能是您的想法最後一個問題,現在, 但我還是要去回答它:您撥打電話到套接字() 系統例程。它返回套接字描述符,並使用專門的send()和recv()(man send,man recv)套接字調用通過它傳遞 。 「但是,嘿!」你現在可能會大聲說出 。 「如果它是一個文件描述符,爲什麼以海王星的名義不能我 只使用正常的read()和write()調用通過 來溝通socket?」簡短的回答是,「你可以!」更長的答案是, 「你能,但發送()和recv()提供了更大的控制權在你的 數據傳輸。」
因爲,插座是UNIX不同進程之間的通信的一種方式,
和
UNIX中不同進程之間的所有通信都通過讀取和寫入文件來完成,
和
文件描述符是一個整數,它唯一地表示操作系統中的打開文件。
那麼,套接字描述符基本上是一個文件描述符?
OR是套接字描述符,基本上是兩個程序之間建立鏈接的唯一標識符?
這兩者之間有什麼區別?
感激。那麼請解釋一下在Windows上它是什麼。 –
它只是一個套接字描述符,由WINSOCK分配,並且在WINSOCK API之外沒有其他用途。 – EJP