Yes, they're the same thing.
From 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.)
So basically, when you call sendmmsg(sock, msglist, n, flags)
, you're doing
for (i=0; i<n; i++)
sendmsg(sock, msglist[i], flags);