3つのネットワークアダプタ、有効な2つと「VirtualBoxホストオンリーネットワーク」があります。Indy TUDPServer Broadcast
正しいIPをバインドするコードでブロードキャストを送信しようとすると、ブロードキャストデータがVirtualBoxネットワークアダプタ(wiresharkでチェックされている)に送信され、もちろん無回答になります。 IdUDPServer(Binding.IP)まだ放送への私の本当のアダプタのIPをバインドしようとしている
FIdUDPServer.Binding.IP := Settings.netInterfaces[settings.sett_net_interface].AddrIP;
FIdUDPServer.BroadcastEnabled := True;
FIdUDPServer.Broadcast(udpDiscovery, BCport);
イム
が間違ったアダプタから送信されています。私が仮想ボックスアダプタを無効にすると、再び回答が得られます。 ここで何が間違っていますか? IDEはDelphi 2010です。
「Settings.netInterfaces []」の各要素をループすることはできますか?もしそうなら、あなたは 'Broadcast(0)'をそれぞれ繰り返すとどうなりますか? –
@HughJones私はインターフェイスのブロードキャストアドレスを使用しているためにいくつかの変更を行いました。たとえば、 'interface' 192.168.100.100 imの場合、ブロードキャストアドレスの宛先として192.168.100.255を使用します。この方法では、私は適切なインターフェイスで放送を送信することができますが、私のものよりもいくつかの他のPCでソフトウェアを実行していますが、私は答えを得ることはありません(私はすべてのインターフェイスで送信する場合でも)。 – grinner