我想在Python中使用UDP套接字接收数据。我每 1 秒从外部硬件发送 UDP 数据(通过以太网电缆与我的 PC 连接)。我还可以在 Wireshark 中看到数据:
我也可以在Hercules中接收数据:
我还可以 ping 到我的硬件并获得响应。
我已经尝试过的
import socket
localIP = "192.168.0.10"
localPort = 9999
bufferSize = 1024
# Create a datagram socket
sckt = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM)
# Bind to address and ip
sckt.bind(('', localPort))
print("UDP server up and listening")
# Listen for incoming datagrams
while True:
bytesAddressPair = sckt.recvfrom(bufferSize)
message = bytesAddressPair[0]
address = bytesAddressPair[1]
clientMsg = "Message from Client:{}".format(message)
clientIP = "Client IP Address:{}".format(address)
print(clientMsg)
print(clientIP)
这无法接收任何数据 - 它卡在 sckt.recvfrom(bufferSize)
请问有什么帮助吗?谢谢你。
禁用防火墙是解决方案 - 现在可以了!