from socket import *
import struct
udpSocket = socket(AF_INET, SOCK_DGRAM)
destAddr = (“192.168.31.45”, 69)
cmd_buf = struct.pack(“!H8sb5sb”, 1, b”test.jpg”, 0, b”octet”, 0)
查看Python 3.0的帮助手册可以看到,格式化字符串的值在Python的类型是bytes类型。所以我们在bytes类型前面加上一个b就可以解决这个问题了。
print(cmd_buf)
udpSocket.sendto(cmd_buf, destAddr)