Функция recvmsg() в сетевом программировании используется для получения сообщений из сокета и сохранения их в массиве заголовков сообщений. www.ibm.com
Некоторые возможности использования:
- Распределение и сбор буферов. stackoverflow.com Например, если нужно получить 1 МБ данных, но есть только 10 буферов по 100 КБ, то можно заполнить каждый за один вызов recvmsg. stackoverflow.com
- Доступ к контрольным флагам, вспомогательным данным и полям заголовка IP-пакета. stackoverflow.com Например, для UDP можно получить адрес назначения IP/порта, к которому был адресован пакет, перечислив контрольные данные, возвращённые recvmsg. stackoverflow.com
Функция возвращает длину полученных данных. www.ibm.com Если на сокете не доступно ни одного сообщения, то вызов ожидает их прибытия, если сокет не помечен как неблокирующий. ru.manpages.org