Seeing as recvmmsg() has a counterpart sendmmsg(). I was wondering if we could use sendto() or sendmsg() instead, will recvmmsg() still work? or will we have to use sendmmsg()?
Also one more thing to note is that sendto() being the only one that does not contain the msghdr *msg parameter, upon receiving the packet with recvmmsg() will it be packed into a msghdr on arrival?
Yes, they're the same thing.
From man sendmmsg
So basically, when you call
sendmmsg(sock, msglist, n, flags)
, you're doing