2012-06-06 62 views

回答

1

標準C沒有套接字接口。

查找適用於您的操作系統(Posix,Windows,其他)的套接字接口。閱讀文檔。一旦你打開套接字,就會有發送和接收數據的功能。

TCP套接字表示雙向通信通道,因此您可以在同一個套接字上使用這兩個套接字而無需執行任何特殊操作。如何實現這一點取決於干預網絡,例如physical layer是全雙工還是半雙工。

請注意其中一個塊會發生什麼情況 - 如果套接字的兩端都試圖寫入,並且緩衝區都在兩個方向都滿了,那麼最終可能會死鎖,因爲任何一方都不能寫任何直到另一側讀取一些東西以在緩衝區中騰出空間。如果雙方都被阻止閱讀並且沒有人正在寫作,則會發生同樣的事情。

0

當你想發送數據時,你可以調用send();當你想接收數據時,你可以調用recv()。它並不比這更復雜。

如果您要求通過網絡傳輸數據的機制,我建議您選擇Stevens的網絡書籍(並跳過Beej的指南,所有這些都是神聖的)。