2012-04-30 136 views
1

在C中,我必须发送一堆数据与TCP/IP(〜6.5mo) 我使用“经典”发送()。 你认为这是一个好主意,给功能整个大小的数据发送在一个部分或我应该更喜欢大块的方式(切片,例如,64ko ...)通过块发送数据

回答

5

给它充分大小,只需再次调用缓冲区的其余部分(根据返回值)。

你处理你的逻辑,让操作系统处理发送逻辑。

+0

特别考虑到你无论如何都可以通过一次调用将6Mb传递给'send()',所以让操作系统为你处理分块。只需传递尽可能多的数据,让send()告诉你它实际接受了多少,然后只需重新发送剩余的数据,根据需要重复,直到所有数据完成。 –