Мне очень трудно получить передачу UDP в Python. Устройство, подключенное к ПК через ethernet, передает сообщения по определенному адресу и порту. Я пробовал многочисленные многоадресные примеры python, найденные в сети, но я никогда не могу получить данные. Используя wirehark, я вижу, что широковещательные передачи UDP достигают ПК.Получите нестандартный python UDP broadcast
Я пробовал на OSX и Linux, и ни работы. Я могу только предположить, что сообщения не принимаются, потому что устройство использует нестандартную структуру UDP, т. Е. Проверку контрольной суммы и т. Д.
Любые идеи о том, как получить эти передачи UDP?
Спасибо!
Edit: В простейшем случае текущий код будет:
from socket import *
s=socket(AF_INET, SOCK_DGRAM)
s.bind(('239.255.60.60',4876))
m=s.recvfrom(1024)
print (m[0])
Однако я попытался дополнительные групповые примеры, такие как Multicast in Python и я еще, чтобы быть в состоянии получить что-нибудь!
Пожалуйста, добавьте минимальный, полный и проверяемый пример. http://stackoverflow.com/help/mcve – rfkortekaas
Обычно ваш сетевой стек вашей операционной системы поймает IP-пакеты для вас; если вы хотите работать с необработанным IP-адресом, вы должны предоставить нам более подробную информацию (какая ОС, какая версия Python и, пожалуйста, * показать тонкий код *). – wazoox
Я использую Python3 на Ubuntu, я считаю, что мне придется работать с сырыми сокетами и начинать с нуля ... – user2818700