Я не думаю, что это возможно с модулем socket
в Python. UDP является очень минималистичным протоколом, и единственный способ различить широковещательный и не вещательный пакеты UDP - это посмотреть адрес назначения. Однако вы не можете проверить эту часть пакета с помощью API сокета BSD (если я правильно помню), и модуль socket
предоставляет только API сокета BSD. Лучше всего было бы использовать первый байт сообщения, чтобы указать, является ли оно широковещательным или одноадресным сообщением.