我正在尝试创建一个服务器,通过数据报套接字接收音频,并将此音频流式传输给不同的侦听器。我最初这样做是通过让另一个数据报套接字等待侦听器请求加入然后为它们创建专用数据报套接字,将其添加到数组中,当我发送音频时,我只是循环遍历所有数组以发送音频。可能不是很有效但它最初工作(尽管现在还有一个未知的原因,它不能在线工作,尽管它在我的本地网络上完美运行)。
我决定对Multicast套接字做一些更多的研究,因为它们似乎是我尝试做的事情的理想选择,但是我对几点感到困惑,特别是看起来你只能使用多播具有以下IP地址范围的套接字:224.0.0.0 - 234.255.255.255。
在本地网络中没问题,但我不明白这在网络上是如何工作的,如果我不能使用我服务器的IP地址,我只是流式传输音频使用我可以选择的随机端口到该范围内的IP地址,只是让侦听器加入该组?
如果是这样的话我怎么知道其他人是否也没有使用相同的IP地址和端口来传输某种数据?我试过寻找一个答案,但没有得到任何体面的答案。 stackoverflow中这个问题的答案简单地说它不可能:Host UDP Multicast Online, possible?但是我再次阅读并看到无数教程提到组播套接字的主要用途之一是互联网广播电台,例如youtube教程说:https://www.youtube.com/watch?v=yre19cIpYrQ分钟:15:27。
如果是这种情况,那一定是可能的,但我无法就如何运作得到一个合适的答案。如果您可以花点时间向我解释一下,我会非常感激!