3

当基于数据报的套接字(原始套接字或 UDP)与收集式发送一起使用时,所有数据都连接起来形成一个 IP 数据包。有没有办法使用一次调用发送多个数据报?

4

3 回答 3

2

但是,您正在寻找的电话sendmmsg()尚未实施,甚至尚未进行大量讨论。recvmmsg()您可以在最新的 2.6.3 Linux 内核中看到它的接收端孪生。

于 2010-03-01T09:05:58.217 回答
0

您要问的有点有趣,因为顾名思义,收集式 send() 从内存中的多个位置收集数据并将其放在一个缓冲区中,然后再发送。

因此,您有多个数据部分要发送多个数据报。为什么不通过单独的调用发送它们?

您实际上可以在数据报套接字上调用 connect() 来指定默认目标,这样您就可以 send() 或 write() 而无需每次都指定目标地址。

于 2009-05-26T18:18:50.690 回答
0

我不这么认为...您希望 IP 堆栈如何推断您打算将数据包数据报放在哪里?

于 2009-03-10T16:29:32.087 回答