检查文件在python中完成下载的时间(套接字编程)

时间:2019-11-22 06:32:58

标签: python file sockets server client

我该如何使用套接字编程和TCP客户端/服务器逻辑跟踪文件下载的进度,以继续进行代码流而不会产生无限的while循环?

1 个答案:

答案 0 :(得分:-1)

如果可以手动解析标题,则可以在content-length字段中获取文件大小,总迭代次数将为content_length / recv_buffer_size。例如,如果您一次接收1024个字节,并且文件大小为4096,则迭代次数= 4096/1024 = 4。

    total_length = content_length / buffer_size
    progressbar.set_length(total_length)   #some imaginary library
    for i in range(total_length):
      data = socket.recv(buffer_size)
      if data :
        file.write(data)
        progressbar.update(1)   #some imaginary progress-bar library
    file.close()