我对UDP接收有一个奇怪的问题。我有一个自定义硬件,它通过直接连接Windows 7 PC发送udp数据包。我有两台Windows 7 PC。其中一个成功接收了这些数据包,另一个则没有。在两台PC上,数据包在Wireshark中都是可见的,并且格式正确,具有正确的IP和UDP校验和等。 在可以正常工作的PC1上,我正在运行Python 3.5.1 在PC2(不是)上,我正在运行Python 3.5.3。 我已经尝试了所有可以找到的防火墙和安全设置。 我将不胜感激!
这是我的代码:
import time
import string
import socket
import sys
import os
UDP_HK_PORT= 60002
try :
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
print ("Socket Created")
except socket.error as msg :
print ('Failed to create socket. Error Code : ' + str(msg[0]) + ' Message ' + msg[1])
sys.exit()
sock.settimeout(10)
try:
sock.bind(("", UDP_HK_PORT))
except socket.error as msg:
print ('Bind failed. Error Code : ' + str(msg[0]) + ' Message ' + msg[1])
sys.exit()
print ('Socket bind complete')
while (1):
reply = sock.recvfrom(64)
now =time.ctime().split(" ")[4]
fhand.write(now + ',')
print ("Bytes Received =" + str(len(reply[0])))
bytesback = reply[0]
for n in range(64):
print (hex(int(bytesback[n])))