gpt4 book ai didi

linux - 加入多播组时需要 PORT 还是只需要 IP?

转载 作者:IT王子 更新时间:2023-10-29 00:20:34 26 4
gpt4 key购买 nike

我想一劳永逸地了解这一点。连接多播套接字的过程是什么?我知道你必须绑定(bind)到本地接口(interface)(为此你需要 IP 和端口吗?)然后我知道你必须加入一个组(你是否需要 IP:PORT 作为你要加入的地址和网络接口(interface)! !!??) 然后你终于可以离开小组了。

有经验的人能说清楚这么多地址的全部内容吗?我将在下面列出:

  • 绑定(bind)地址(IP:PORT)
  • 网络地址(IP:PORT)
  • 多播地址(IP:PORT)

这里的多播在哪里?

最佳答案

多播组是一个特殊的IP地址。你通过 setsockopt() 使用套接字选项 IP_ADDMEMBERSHIP 加入它,或者例如在 Java 中通过 MulticastSocket.joinGroup()。这里没有端口号。如果您想通过特定的本地地址加入,请使用指定本地地址的重载,或先调用 setNetworkInterface()

绑定(bind)到本地地址是一个单独的操作,它主要确定套接字可以在哪些本地地址上发送和接收数据:一个或所有地址:一个本地地址,它决定了您正在监听的可用子网到并且可以通过或端口或两者发送。通常最好使用 INADDR_ANY 作为绑定(bind)地址,除非您的应用程序神奇地知道网络拓扑。

在 Linux 中您可以绑定(bind)到多播地址这一事实使这变得困惑,但这似乎是一个现在将永远伴随着我们的误解。

您通过发送到多播地址来发送到多播组。

关于linux - 加入多播组时需要 PORT 还是只需要 IP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9423820/

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