Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多播客户端如何从发送方接收单个副本?_Java_C++_Networking_Network Programming - Fatal编程技术网

Java 多播客户端如何从发送方接收单个副本?

Java 多播客户端如何从发送方接收单个副本?,java,c++,networking,network-programming,Java,C++,Networking,Network Programming,这个问题更多的是关于多播如何为客户端工作。假设,我们可以使用多播套接字将数据流(音频/视频,甚至基于文本)发送到网络上选定的一组NIC/主机。然而,在我的windows wireshark上,我只看到一个流输出,但多个客户端能够接收单个副本。这是怎么发生的?谁在网络上制作拷贝?我检查了多播使用的是IGMP协议,但不知道它是如何实现的 另一方面,广播不使用IGMP,但仍在制作副本 任何评论都会有所帮助 以太网交换机和支持多播的路由器将复制您的数据包 它不会“接收单个副本”。它接收的数据报与最近路由

这个问题更多的是关于多播如何为客户端工作。假设,我们可以使用多播套接字将数据流(音频/视频,甚至基于文本)发送到网络上选定的一组NIC/主机。然而,在我的windows wireshark上,我只看到一个流输出,但多个客户端能够接收单个副本。这是怎么发生的?谁在网络上制作拷贝?我检查了多播使用的是IGMP协议,但不知道它是如何实现的

另一方面,广播不使用IGMP,但仍在制作副本


任何评论都会有所帮助

以太网交换机和支持多播的路由器将复制您的数据包

它不会“接收单个副本”。它接收的数据报与最近路由器这一侧的每个人接收的数据报相同。

始终有一条消息发出。已加入多播组的计算机将侦听地址/端口上的数据包,而未加入的计算机不会将数据包传递给操作系统。@Kevin,那么,你是说接收方的操作系统正在从发送方流复制数据包?那么操作系统上有什么组件呢?机器所在的子网是NIC还是路由器?