我想让一台服务器在同一台机器上发送广播 UDP 数据包和另外两个客户端,接收它们。我能以某种方式做到这一点吗?我会使用什么 IP 地址?
@gravyface 给了我希望,但我尝试过:
他们都没有工作!:(
OBS:我正在使用 REUSE_ADDR 和 SO_BROADCAST 选项。
我是高级网络管理的新手,我想用 UDP 广播做一些测试,所以我需要在我的环回接口上有一个广播地址。机器离线,即没有网络。
我怎样才能做到这一点,ifconfig而不必在建议的评论中作为一名用户购买交换机。在 Linux 中,我所要做的就是使用 127.255.255.255 并且广播工作正常,无需任何网络或任何交换机。如果我有网络,显然我可以使用 255.255.255.255。
您可以通过以下方法自行检查它是否在 linux 上有效,但在 os/x 中无效:
打开两个终端并在它们上输入:
nc -u -l 55555
打开第三个终端,必要时安装 socat 并输入:(以防您问 netcat 不支持广播)
echo -n "TEST" | socat - udp-datagram:127.255.255.255:55555,broadcast
您应该看到两个终端都收到了消息。
如果您对 127.0.0.1 尝试相同的实验,则只有一个终端会按预期收到消息。
在 OS X 上执行相同的测试不会表现出相同的行为。
如果可能的话,我正在寻找一种用于广播的软件解决方法。
我不能使用多播(它必须是广播),也不能通过网络(机器离线)进行测试。