Могу ли я использовать sendto () или sendmsg (), чтобы отправить пакет в recvmmsg () сервера?

Поскольку recvmmsg () имеет аналог sendmmsg (). Мне было интересно, если бы мы могли использовать sendto () или sendmsg (), будет ли recvmmsg () работать? или мы должны будем использовать sendmmsg ()?

Также еще одна вещь, на которую следует обратить внимание, это то, что sendto () является единственным, который не содержит параметр msghdr * msg, после получения пакета с помощью recvmmsg () он будет упакован в msghdr по прибытии?

1

Решение

Да, это одно и то же.

От человека 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);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]