2011-01-29 64 views
3

有没有一种通过编程方式检测路由器是否支持多播的方法?无论是在普通的C(BSD套接字)中,或者最好是在OSX(Objective-C/Cocoa)上的某种更高级别的方式。检测路由器是否支持多播

更新:我假设在这里,我们只有一个进程正在运行,以确定多播支持(因此,在单独的机器上建议多个客户端的方法在此不相关)。

回答

2

对于IGMP查询,您可以在224.0.0.1上监听125秒,但这不会检测静态多播路由。

唯一确定的方法是将传输到另一个不同局域网段上的另一台主机,并测试发送加入&。仍然依赖于稀疏或密集模式路由而不是立即响应。

0

最好的方法是:你必须在多播路由器的两侧至少有2个节点。 例如:

PC1(发件人)---- >> - 路由器---- ----- >> PC2(接收器)

在发送器侧(PC1)使用VLC发送多播数据包到某些多播IP说:235.1.1.1 现在在接收端(PC2),您可以使用mcfirst utility。通过适当的选项组合,您可以知道PC2是否可以接收组播数据包。

以上作品适用于IPv4和IPv6。