Я знакомлюсь с разъемами BSD, и, щелкнув по странице man от sendto
, я столкнулся с флагом MSG_CONFIRM
, что для меня сейчас довольно загадочно.Почему я должен использовать MSG_CONFIRM или не использовать его?
Описание говорит:
Сообщить ссылку слой, вперед прогресс произошло: вы получили успешный ответ от другой стороны. Если ссылочный уровень не получает , он будет регулярно воспроизводить соседний (например, посредством одноадресной ARP). Действует только для SOCK_DGRAM и SOCK_RAW сокетов и в настоящее время реализовано только для IPv4 и IPv6.
После быстрого взгляда на человека странице arp
, я понимаю, что что-то пометки MSG_CONFIRM
предотвращает адрес ARP отображение MAC ↔ IP-адрес удаленной машины из рассматриваемых несвежий.
Теперь я озадачен тем, что не вижу причин, почему я должен был не, и поэтому почему они не применяли это непосредственно в библиотеке. Почему ожидается, что уровень приложения будет иметь дело со всем, что происходит там, на уровне ссылки.
Так что я пропустил что-нибудь? когда я должен его установить или не установить?