Получаване на UDP излъчване

Опитвам се да разбера как да получавам UDP пакети, които се излъчват от набор устройства. Виждам ги да идват с помощта на Wireshark, но не мога да разбера как да ги получа в моето приложение. Пакетите се излъчват към всички устройства в мрежата на един и същи порт. Трябва да мога да ги получа от всеки IP адрес, който ги изпраща. Имам и 2 NIC карти, ако има значение. Трябва да слушам само 1, но не съм сигурен дали трябва да посочвам това. Опитах някои различни неща с UdpClient, но нямах късмет.

192.168.1.20 255.255.255.255 UDP 768 Source port: 3001 Destination port: 3002

bool done = false;

UdpClient listener = new UdpClient(3001);
IPEndPoint groupEP = new IPEndPoint(IPAddress.Any, 3002);

string received_data;
byte[] receive_byte_array;

try
{
    while (!done)
    {
        Debug.WriteLine("Waiting for broadcast");

        receive_byte_array = listener.Receive(ref groupEP);
        Debug.WriteLine("Received a broadcast from {0}", groupEP.ToString() );
        received_data = Encoding.ASCII.GetString(receive_byte_array, 0, receive_byte_array.Length);
        Debug.WriteLine("data follows \n{0}\n\n", received_data);
    }
}
catch (Exception e)
{
    Console.WriteLine(e.ToString());
}

listener.Close();

person thecaptain0220    schedule 02.07.2014    source източник
comment
възможен дубликат на Получаване на отговор на UDP излъчване (C#)   -  person admdrew    schedule 03.07.2014
comment
Не съм сигурен, че тази публикация дори има работещо решение. Така или иначе не ми се получи. Ще добавя това, което опитах, но не съм сигурен, че е правилният подход.   -  person thecaptain0220    schedule 03.07.2014
comment
Предполагам, че е или нещо с излъчването, или фактът, че имам 2 NIC карти. UDP пакетите не се изпращат директно към моята машина, но мога да ги видя в wireshark.   -  person thecaptain0220    schedule 03.07.2014