(UDP) 在 Windows 套接字上尝试发送数据之前,ARP 是否会发生?
IE,它在创建 UDP 套接字期间起作用吗? 我很确定答案是“不”,但谁知道呢。
谢谢。
IE, does it play any role during the creation of a UDP socket?
I'm pretty sure the answer is "no", but who knows.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
ARP(如果需要)将由
send()
或sendto()
调用触发。大多数情况下,不需要发送 ARP,因为目的地很可能可以通过已缓存 ARP 条目的默认网关到达。
另外,您可能对 SendARP 感兴趣 函数。如果您想在等待初始 ARP 响应时获得一点额外的保护,防止丢包,您可以在开始发送 UDP 数据包之前显式调用它。否则,当堆栈等待 ARP 解析时,传输队列可能会溢出。
The ARP (if necessary) would be triggered by the
send()
orsendto()
call.Most of the time an ARP doesn't need to be sent since the destination is most likely reachable through the default gateway for which the ARP entry will already be cached.
Also, you may be interested in the SendARP function. You can explicitly call it before you start sending UDP packets if you want a little extra insurance against drops while waiting for the initial ARP response. Otherwise, it might be possible to overfill the transmit queue while the stack waits around for ARP resolution.