为什么没有像MSG_WAITALL这样的标志用于发送?

时间:2017-05-29 11:02:50

标签: sockets send recv

标记MSG_WAITALL可用于recvrecv请求recv阻止,直到满足完整请求为止。这意味着len将不会返回,直到收到所请求的数据(由参数send指定),除非发生错误或连接已关闭。

为什么这样的旗帜也不适用于send?我认为这对发送非常有用({{1}}直到调用者想要发送的所有字节都被传递给TCP发送缓冲区才返回

1 个答案:

答案 0 :(得分:2)

这将是多余的。您始终可以将套接字置于阻塞模式(如果尚未加入),在这种情况下send()将阻塞,直到所有数据都已传输完毕。