我在同一个子网上有两台服务器。我安装了一个应用程序,它使用多播 UDP 在两台服务器之间传播事件并保持同步。
这似乎没有发生,因此我想确保多播 UDP 消息能够顺利通过,这是我的第一步。
服务器运行的是Windows 2008 R2。
如何测试两个服务器之间的多播 UDP 连接?
答案1
答案2
iperf 是一款很棒的工具,但安装过程可能很长;大多数存储库都没有此包。根据您的发行版,netcat 几乎在每个存储库中都可用
您也可以使用 netcat:
服务器:nc -lu -p 端口号
客户端:nc -vzu 服务器 IP 端口号
答案3
我强烈推荐套接字性能测试
它是检查 TCP 和 UDP(包括 UDP 多播)性能的绝佳工具。
多播 UDP 流的示例:
- 在服务器上:
sockperf server -i 224.4.4.4 -p 1234
- 在客户端上:
sockperf ping-pong -i 224.4.4.4 -p 1234
答案4
如果一台服务器已在监听多播(netstat -g
将会告诉您是否如此)。
您可以使用普通的 netcat 进行广播,并使用 tcpdump 进行检测。
向多播地址发送固定大小的消息。
echo -n 1234567890| ncat -vu 224.4.4.4 4444
你应该看到一个 10 字节的 UDP 数据包到达tcpdump
服务器
# tcpdump -i eth0 host 224.4.4.4 and port 444
09:23:26.694624 IP srchost.56837 > 224.4.4.4.4444: UDP, length 10
如果您没有 tcpdump,wireshark 或 pcap 也会看到它。
tcpdump -A
如果您想确认消息是,请使用1234567890
。