2011-01-29 15 views
3

ルータがマルチキャストをサポートしているかどうかをプログラムで検出する方法はありますか?普通のC(BSDソケット)または好ましくはOSX(Objective-C/Cocoa)のいくつかのより高いレベルの方法で。ルータがマルチキャストをサポートしているかどうかを検出する

更新:ここでは、マルチキャストサポートを判断するプロセスが1つしかないと仮定しています(別のマシン上の複数のクライアントがここでは関連しないというアプローチがあります)。

答えて

2

IGMPクエリでは224.0.0.1を125秒間リッスンできますが、静的マルチキャストルーティングは検出されません。

唯一の確実な方法は、別のLANセグメント上の別のホストにトランスポートして、接続& sendをテストすることです。それでもなお、疎または密集モードに依存し、即時応答ではありません。

0

最善の方法:マルチキャストルータの両側に少なくとも2つのノードが必要です。例えば :

PC1(送信者)---- >> - ルータ---- >> ----- PC2(受信機)

送信側では(PC1)に送信するためにVLCを使用いくつかのマルチキャストIPへのマルチキャストパケットの例235.1.1.1 受信側(PC2)でmcfirst utilityを使用できるようになりました。オプションの適切な組み合わせにより、PC2がマルチキャストパケットを受信できるかどうかを知ることができます。

上記はIPv4とIPv6の両方で動作します。

関連する問題