繁体   English   中英

如何使用Java MulticastSocket在不同的EC2实例之间进行多播?

[英]How to multicast between different EC2 instances using Java MulticastSocket?

我已经实现了一个简单的P2P组播网络,其中连接到网络的每个对等方都会向其他每个对等方发送数据。 为了使其成为可能,我使用了Java MulticastSocket类,因此每个对等方都加入了一个多播组,该组由可用于多播IP地址和端口号定义。 尝试使用EC2服务运行程序时遇到一些问题,其中每个生成的实例代表网络的一个对等端,因为只要交换的消息未到达接收者,对等端就无法进行通信。 因此,基本上我的问题是:是否可以使用Java MulticastSocket使EC2实例相互通信? 有人可以帮忙吗?

在本地,您不能。

问:Amazon VPC是否支持多播或广播?

没有。

https://aws.amazon.com/vpc/faqs/

EC2 Classic也是如此 (尽管您的帐户允许,但几乎没有任何理由要使用它)。

VPC看起来像以太网,但事实并非如此。 放一个数据包嗅探器并尝试ping。 观察双方的ARP流量,您会发现一些启发性的内容-源计算机对目标进行arp响应并获得响应,但是您在目标计算机上都不会看到这些数据包。 ARP响应来自网络基础结构本身。

如果您感到机灵,有一个 解决 方法:您可以构建一个覆盖网状网络,该网络通过单播传输多播。

参见https://aws.amazon.com/articles/6234671078671125

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM