Senden broadcast-Nachricht von allen Netzwerk-Adaptern

Ich habe eine Anwendung, die sendet broadcast-Nachrichten und wartet auf Antwort-Pakete. Unten ist das code-snippet.

m_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
m_socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1);

m_socket.Bind(new IPEndPoint(IPAddress.Any, 2000));

m_socket.BeginSendTo(
                    buffer, 
                    0, 
                    buffer.Length, 
                    SocketFlags.None,
                    new IPEndPoint(IPAddress.Broadcast, 2000),
                    Callback), 
                    null
                    );

Wenn ich die Anwendung ausführen, die broadcast-Nachricht wurde nicht gesendet. Auf meinem Rechner habe ich drei Netzwerkkarten. Zu meinem lokalen Netzwerk-adapter und die beiden anderen sind für VMWare virtual network Adapter. Wenn ich meine Anwendung, die ich sehen kann (mit wireshark Netzwerk-capture), die die broadcast-Nachricht gesendet wird von einem der VMWare-Netzwerk-Adapter.

Ich würde gerne den code ändern, so dass die broadcast-Nachricht gesendet werden, die alle Netzwerk-Adapter auf dem pc. Was ist der beste Weg, das zu tun?

  • Konnten Sie Ihr problem lösen?
InformationsquelleAutor sdasari | 2009-01-12
Schreibe einen Kommentar