gpt4 book ai didi

c++ - 我可以使用 sendto() 或 sendmsg() 将数据包推送到服务器的 recvmmsg() 吗?

转载 作者:太空宇宙 更新时间:2023-11-04 11:44:05 27 4
gpt4 key购买 nike

因为 recvmmsg() 有对应的 sendmmsg()。我想知道我们是否可以改用 sendto() 或 sendmsg(),recvmmsg() 是否仍然有效?或者我们必须使用 sendmmsg() 吗?

还有一件事要注意,sendto() 是唯一一个不包含 msghdr *msg 参数的方法,在接收到带有 recvmmsg() 的数据包时,它会在到达时打包到 msghdr 中吗?

最佳答案

是的,它们是同一回事。

来自 man sendmmsg

The  sendmmsg() system call is an extension of sendmsg(2)
that allows the caller to transmit multiple messages on
a socket using a single system call. (This has performance
benefits for some applications.)

所以基本上,当您调用 sendmmsg(sock, msglist, n, flags) 时,您正在做

for (i=0; i<n; i++)
sendmsg(sock, msglist[i], flags);

关于c++ - 我可以使用 sendto() 或 sendmsg() 将数据包推送到服务器的 recvmmsg() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20350061/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com