2012-04-30 135 views
1

在C中,我必須發送一堆數據與TCP/IP(〜6.5mo) 我使用「經典」發送()。 你認爲這是一個好主意,給功能整個大小的數據發送在一個部分或我應該更喜歡大塊的方式(切片,例如,64ko ...)通過塊發送數據

回答

5

給它充分大小,只需再次調用緩衝區的其餘部分(根據返回值)。

你處理你的邏輯,讓操作系統處理髮送邏輯。

+0

特別考慮到你無論如何都可以通過一次調用將6Mb傳遞給'send()',所以讓操作系統爲你處理分塊。只需傳遞儘可能多的數據,讓send()告訴你它實際接受了多少,然後只需重新發送剩餘的數據,根據需要重複,直到所有數據完成。 –