4

我可以在我的机器上执行 UDP 广播数据包吗?我没有网络,我只有便宜的 linux 盒子。我想让一台服务器广播一个数据包,而同一台机器上的两个或多个客户端接收它们。那可能吗?我使用什么 IP?


@gravyface 给了我希望,但我尝试了:1)服务器发送到 127.255.255.255:54321,客户端监听 0.0.0.0:54321。2) 服务器发送到 127.255.255.255:54321 和客户端监听 127.0.0.1:54321。3) 服务器发送到 127.255.255.255:54321 和客户端监听 127.255.255.255:54321。他们都没有工作!:(

OBS:我正在使用 REUSE_ADDR 和 SO_BROADCAST 选项。

4

2 回答 2

1

我能够确认 127.255.255.255 在 Linux (Ubuntu) 上有效,在 Mac (Snow Leopard) 上无效。如果您知道如何在 Mac 上执行此操作,请告诉我。:)

于 2012-11-16T02:10:58.230 回答
0

您可以使用具有不同虚拟地址的虚拟网络适配器。例如,在 Windows 中,您可以在 Linux 中使用Microsoft LoopbackTUN/TAP

另一种解决方案是使用 VirtualBox 等虚拟化软件创建内部网络,但这需要稍快的机器。如果您只能负担(因为它是一个便宜的盒子)单个虚拟机,您可以启用 1-4 个网络适配器,这将允许您在虚拟设备的每个虚拟适配器上单独绑定不同的 UDP 客户端。

于 2012-08-26T16:38:14.767 回答