Ваша лучшая идея - определить конкретные порты, которые вы хотели бы прослушивать, и начать прослушивать их.В зависимости от того, что делается с полученными дейтаграммами, может быть лучше / проще создать новый Thread
для каждого порта, который вы прослушиваете, и обработать его там, либо поставить в очередь в синхронизированную (с lock
) очередь или список, для обработки в центральном потоке.
Вы должны ограничить порты, хотя;было бы невозможно прослушать их все.
При этом можно было использовать что-то вроде Wireshark
или Winpcap
SDK / API для «перехвата» UDP-пакетов прямо с сетевого адаптера.Раньше я работал в приложении .NET без особых проблем.
Надеюсь, это поможет.