Network programming 广播数据包是否是解决这一问题的最佳方案;服务器到多个客户端”;类型VoIP情况?

Network programming 广播数据包是否是解决这一问题的最佳方案;服务器到多个客户端”;类型VoIP情况?,network-programming,udp,broadcast,multicast,Network Programming,Udp,Broadcast,Multicast,我正在尝试建立一个网络基础设施,并为一对多VoIP系统编程 它将在专用WiFi网络中工作 我们将有一个服务器流式传输音频数据包和许多客户端请求/接收这些完全相同的数据包(UDP) 我不想点对点地发送数据包,因为我希望它能够扩展到尽可能多的客户端,而不会达到带宽限制 除了服务器和客户端之外,网络上不会有任何其他计算机 我应该从服务器广播数据包吗?它们是否只发送一次,然后被许多客户机抓取,而不会产生显著的带宽开销 还是应该使用多播?广播数据包发送到连接到服务器的子网上的每个客户端。它们不会超出该子网

我正在尝试建立一个网络基础设施,并为一对多VoIP系统编程

它将在专用WiFi网络中工作

我们将有一个服务器流式传输音频数据包和许多客户端请求/接收这些完全相同的数据包(UDP)

我不想点对点地发送数据包,因为我希望它能够扩展到尽可能多的客户端,而不会达到带宽限制

除了服务器和客户端之外,网络上不会有任何其他计算机

我应该从服务器广播数据包吗?它们是否只发送一次,然后被许多客户机抓取,而不会产生显著的带宽开销


还是应该使用多播?

广播数据包发送到连接到服务器的子网上的每个客户端。它们不会超出该子网

如果中间路由器或第3层交换机配置为支持多播,则多播数据包允许任何子网上的客户端订阅多播

这个网络中会有路由器或第三层交换机吗

如果是这样,您将需要多播。如果没有,您可以使用广播


从带宽的角度来看,每个数据包只发送一次,并由每个客户机拾取-服务器上的负载应该很少或没有差异。其他地方的负载将取决于网络配置和任何远程子网中的客户端数量。

谢谢,我知道网络足以生存,这对我来说是一个全新的概念。我想让这一切尽可能简单:一个无线路由器,在一个封闭的空间里可能有数百个客户端。如果我可以用路由器更改子网掩码,我应该可以拥有超过255个客户端,对吗?我认为在VoIP环境下,如果我想重新传输丢弃的数据包,广播将无法正常工作,这对吗?我可以使用多播,但是来自许多客户端的重传请求可能会导致拥塞?正在尝试找出瓶颈。再次感谢。如果您使用UDP,则无法保证传输,也无法跟踪丢弃的数据包,因此这不会是一个问题。在任何情况下,使用VOIP,如果一个数据包丢失了,再请求它已经太晚了,因为数据流已经移动了。您可以根据自己的意愿更改子网掩码—每短一点,子网的大小就会增加一倍。如果你说的是数百个客户端,那么一个/16掩码就可以了(65534个客户端)。别忘了其他基础设施:你可能需要一个DHCP服务器。我建议使用无线接入点,而不是路由器(无需担心子网),并准备好使用多个接入点-WiFi在实践中远不如规范所建议的可靠。