我正在尝试通过UDP与音视频设备通信。我向本地广播192.168.0.255发送一个数据包,它会回复有关该设备的信息。我可以使用Wireshark验证其有效性。然而,在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端口绑定和接收它被发送的信息,再将其发送回来,这样应该可以运行,对吗?我有遗漏步骤吗?
s.connect(('192.168.0.255',63630)); s.send('0:0')
替换为s.sendto('0:0', ('192.168.0.255',63630))
会发生什么? - falsetru