2009-03-20 20 views
2

私は、UDPブロードキャストを使用してリモートデバイスを検出または設定するプロジェクトに取り組んでいます。これらのデバイスには、IPアドレスがまだ設定されていない場合があります。少なくとも、接続先のネットワークと一致する必要はありません。現時点では、ターゲットアドレスが255.255.255.255の単一のsendtoを使用しています。ほとんどの場合、これは正常に動作しますが、複数のNICを搭載したVistaマシンでは、ブロードキャストはインターフェイスの1つから送信されるようです。 Vistaにすべてのインターフェイスにブロードキャストを送信させるにはどうすればよいですか?マルチホームシステムでのUDPブロードキャスト

答えて

2

sendtoコールに応答して、すべてのインターフェイスでパケットが生成されることはありませんでした。

適切なオプションは、ネットワークインターフェイスを列挙し、正しいリンクローカルブロードキャストを決定し、各インターフェイスを介して別々のパケットを個別に送信することです。

+1

すべてのデバイスがIPのリンクのサブネット用に設定されているわけではないので、リンクローカルアドレスが機能するかどうかわかりません。 – megabytephreak

1

インターフェイスを列挙し、各インターフェイスで1回パケットを送信します。

1

私たちは全く同じ問題を抱えています。サブネットブロードキャストは設定できません。デバイスが間違ったIP(範囲外)を持っている場合、サブネットブロードキャストをそのIPスタックに送信することは決して受け入れられません。 私たちがDHCPを許可しない限り、厄介な問題は...

+0

実際には、同じ問題があります – megabytephreak

関連する問題