gpt4 book ai didi

c - 为什么我应该使用或不使用 MSG_CONFIRM?

转载 作者:太空狗 更新时间:2023-10-29 15:22:17 24 4
gpt4 key购买 nike

我熟悉 BSD 套接字,并浏览了 sendto 的手册页,我碰到了 MSG_CONFIRM 标志,这对我来说很神秘。

描述说:

Tell the link layer that forward progress happened: you got a successful reply from the other side. If the link layer doesn't get this it will regularly reprobe the neighbor (e.g., via a unicast ARP). Only valid on SOCK_DGRAM and SOCK_RAW sockets and currently implemented only for IPv4 and IPv6.

快速浏览了 arp 的手册页后,我了解到标记某些内容 MSG_CONFIRM 会阻止考虑远程计算机的 ARP 映射 MAC 地址 ↔ IP 地址陈旧。

现在我很困惑,因为我看不出有什么理由可以放置它,因此,他们为什么不直接在图书馆中强制执行。为什么应用层需要处理链路层发生的任何事情。

那么我错过了什么吗?我应该什么时候设置它,或者什么时候不设置它?

最佳答案

只有当您发送的数据报是对您刚刚从同一对等方收到的数据报的直接响应时,您才应该设置该标志。

如果您要发送初始请求或发送数据报以响应某些其他事件(例如用户输入或超时),那么您应该设置MSG_CONFIRM标志。

关于c - 为什么我应该使用或不使用 MSG_CONFIRM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16594387/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com