Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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中通过internet发送多播数据包_Java_Sockets_Ip_Multicastsocket_Igmp - Fatal编程技术网

在Java中通过internet发送多播数据包

在Java中通过internet发送多播数据包,java,sockets,ip,multicastsocket,igmp,Java,Sockets,Ip,Multicastsocket,Igmp,我想开发一个Web应用程序,它使用UDP协议向JAVA中的客户端发送数据包 我需要直接向每个客户端发送数据包 Java提供了一个名为MulticastSocket的类,该类扩展了UDP。这可以通过网络向多个客户端发送数据包 但它只是发生在本地网络上,而不是在“互联网”上 有没有办法通过互联网发送多播数据包? 如果可能的话,解释一下,并解释一下我如何用Java实现它 我发现了一些协议,比如IGMP。。。但我认为它是在MulticastSocket中发展起来的。在发送多播数据包时,如果您希望它们通过

我想开发一个Web应用程序,它使用UDP协议向JAVA中的客户端发送数据包

我需要直接向每个客户端发送数据包

Java提供了一个名为MulticastSocket的类,该类扩展了UDP。这可以通过网络向多个客户端发送数据包

但它只是发生在本地网络上,而不是在“互联网”上

有没有办法通过互联网发送多播数据包? 如果可能的话,解释一下,并解释一下我如何用Java实现它


我发现了一些协议,比如IGMP。。。但我认为它是在MulticastSocket中发展起来的。

在发送多播数据包时,如果您希望它们通过一个或多个路由器,则需要将传出数据包的TTL设置为至少与您希望通过的路由器数量相同。您可以通过
MulticastSocket
setTimeToLive()
方法进行设置

IGMP消息由多播接收器发送,让路由器知道将多播流量转发到何处。您不需要显式发送数据包,因为当您通过
joinGroup
方法之一加入多播组时,操作系统会自动发送数据包

然而,通过公共互联网发送多播的主要问题是,大多数路由器没有配置为允许多播流量通过它们。默认情况下,它们将丢弃IGMP数据包,而不是转发它们

曾经有一个实验性的互联网多播主干网,名为,但是我认为它已经不再使用了


因此,无论使用何种语言,您都不能通过公共互联网发送多播。

发送多播数据包时,如果您希望它们通过一个或多个路由器,则需要将传出数据包的TTL设置为至少与您希望通过的路由器数量相同。您可以通过
MulticastSocket
setTimeToLive()
方法进行设置

IGMP消息由多播接收器发送,让路由器知道将多播流量转发到何处。您不需要显式发送数据包,因为当您通过
joinGroup
方法之一加入多播组时,操作系统会自动发送数据包

然而,通过公共互联网发送多播的主要问题是,大多数路由器没有配置为允许多播流量通过它们。默认情况下,它们将丢弃IGMP数据包,而不是转发它们

曾经有一个实验性的互联网多播主干网,名为,但是我认为它已经不再使用了


因此,无论使用何种语言,您都不能通过公共Internet发送多播。

我确信需要在客户端添加防火墙例外。也许你们需要一个多播路由器来发送多播数据包。@Tim,但我从来都不知道如何通过internet发送多播数据包。因为多播组ip必须在D类中,我认为这个ip类别不能从internet访问!您是否介意分享您在www.iana.org上找到的解决方案?谢谢,我确信需要在客户端添加防火墙例外。也许你们需要一个多播路由器来发送多播数据包。@Tim,但我从来都不知道如何通过internet发送多播数据包。因为多播组ip必须在D类中,我认为这个ip类别不能从internet访问!您是否介意分享您在www.iana.org上找到的解决方案?谢谢你的回答。我在www.iana.org上找到了我的解决方案,谢谢!嘿,兄弟,谢谢你的回答。我在www.iana.org上找到了我的解决方案,谢谢!