gpt4 book ai didi

networking - socket.recvfrom 总是会返回一个有效的地址吗?

转载 作者:行者123 更新时间:2023-12-03 11:51:19 25 4
gpt4 key购买 nike

我正在研究一种通信协议(protocol),该协议(protocol)应该通过在本地网络上广播/多播对等方的地址来支持自我配置。直观的方法是广播地址,但事实证明,很难可靠地找出当前机器的本地 IP 地址(取决于配置,您可能会得到“127.0.0.1”或另一个无用的地址) .

另一种方法是不在广播消息中包含主机地址,而是让接收者调用recvfrom。在他们的套接字上,它不仅返回接收到的数据,还返回发送者的地址。正如我所看到的,该调用在 Unix 和 Windows(我的要求之一)以及可能更多的平台上都可用。我现在的问题是,在某些情况下这可能会失败吗?recvfrom返回一个无法访问或无用的地址?

最佳答案

如果您将此技术限制为仅广播 UDP,则应该没问题。唯一容易与此混淆的是双 NAT 或发夹 NAT。无论如何,仅在本地进行的广播还没有做到这一点。

关于networking - socket.recvfrom 总是会返回一个有效的地址吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11658724/

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