данные не записываються в файл

Написал код сервера который в теории по Python socket должен отправлять путь к файлу клиенту, а клиент должен отправлять файл который находиться по пути, но вместо этого загрузка зависает и файл пустой, вот код:

server:

def download(socketuser, path, user, file):
    download_window = customtkinter.CTkToplevel(self)
    download_window.title('Downloading....')
    WIDTH = 200
    HEIGHT = 100
    download_window.geometry(f"{WIDTH}x{HEIGHT}")
    download_window.resizable(False, False)
    label = customtkinter.CTkLabel(master=download_window, text='2%')
    label.pack(expand=True)
    if not os.path.exists(f"{self.hk_path}/users/{user}/downloads"):
        os.makedirs(f"{self.hk_path}/users/{user}/downloads")
    gr_file = open(f"{self.hk_path}/users/{user}/downloads/{file}", 'wb')
    label.configure(text='5%')
    socketuser.send(f"dwnl {path}/{file}".encode("utf-8"))
    label.configure(text='9%')
        def recvv():
            while True:
                data = socketuser.recv(4096)
                gr_file.write(data)
                if not data:
                    label.configure(text='100%')
                    break
    recvth = Thread(target=recvv)
    recvth.start()

client:

elif command == "dwnl":
    file = open(arg, "rb")
    while True:
        data = file.read(4096)
        client.send(data)
        if not data:
            break
    file.close()

загрузка всегда зависает на 9%


Ответы (0 шт):