Я пытаюсь связаться с устройством A/V через UDP. Я отправляю пакет в местную широковещательную рассылку 192.168.0.255, и он отвечает информацией об устройстве. Я могу проверить, работает ли он с Wireshark. Тем не менее, я никогда не получите ответ в Python, он просто сидит там:Почему я не могу получить UDP-пакеты в Python?
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #Internet, UDP
s.bind(('', 64000))
#s.sendto('0:0',('192.168.0.255',63630))
s.connect(('192.168.0.255',63630));
s.send('0:0')
#s.listen(1)
data,addr = s.recvfrom(1024)
print data
print 'from', addr
Я посылаю его из 64000 (случайного порта) на 63630 порта, поэтому связывание и прием на 64000 порта он был отправлен из , и отправляется обратно, должен работать, исправлять? Я пропустил шаг?
, но он отправляет широковещательную рассылку, иначе он не будет поднят устройством ip правильно? – NoBugs
@NoBugs. Чтобы выяснить, является ли широковещательная передача проблемой или нет, попробуйте отправить сообщение на определенный IP-адрес (A/V-устройство). – falsetru
Справа! Установка ip 0.255 в 0.realaddress работает! Итак, я должен найти, что такое устройство ip, прежде чем делать это, трансляция не работает в Python? – NoBugs