import struct
from socket import *
filename = "catdog.jpg"
server_ip = "192.168.1.101"
cmb_buf = struct.pack("!H%dsb5sb"%len(filename), 1, filename.encode(), 0, b"octet", 0)
udpsock = socket(AF_INET, SOCK_DGRAM)
udpsock.sendto(cmb_buf, (server_ip, 69))
f = open(filename, "ab")
while True:
recvdate = udpsock.recvfrom(1024)
caozuoma, ACK = struct.unpack("!HH",recvdate[0][:4])
rand_port = recvdate[1][1]
if caozuoma == 5:
print("文件不存在")
print("操作码是:%d,块编号是:%d,服务器随机端口是:%d,字节长度为:%d"
%(caozuoma, ACK, rand_port, len(recvdate[0][4:])))
if len(recvdate[0][4:])<516:
break
ack_date = struct.pack("1HH", 4, ACK)
udpsock.sendto(ack_date, (server_ip, rand_port))
老师,我没有下载那个文件下载器,没办法运行