Удаляеться только последний лейбл

написал вот такой код:

COLORBG = "green"
COLORFG = "black"


def start():
    root = tk.Tk()
    f = Frame(root)
    f.pack()
    def test(ratuser):
        user_socket = ratuser
        wnw = "TEST"
        user_socket.send(wnw.encode("ascii"))

    def do_popup(event, ratuser):
        m = Menu(root, tearoff = 0)
        m.add_command(label="TEST_MESSAGE", command=lambda: test(ratuser))
        try:
            m.tk_popup(event.x_root, event.y_root)
        finally:
            m.grab_release()
  

    host ='127.0.0.1'
    port = 5555

    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.bind((host,port))
    server.listen()

    def serverlistening():
        while True:
            user_socket, address = server.accept()
            command = "info"
            user_socket.send(command.encode("ascii"))
            response = user_socket.recv(2048).decode("ascii")
            res = response.split('*')
            user = res[0]
            ip = res[1]
            antivirus = res[2]
            label = Label(f, text=f"USER: {user} IP: {ip} ANTIVIRUS: {antivirus}",width=130, bg=COLORBG,fg=COLORFG)
            label.pack()
            label.bind("<Button-3>", lambda event, ratuser=user_socket: do_popup(event, ratuser))
            def updt():
                while True:
                    wnw = "ping"
                    try:
                        user_socket.send(wnw.encode("ascii"))
                    except:
                        label.destroy()
                    sleep(3)
            updt = Thread(target=updt)
            updt.daemoin = True
            updt.start()

    serverlistening = Thread(target=serverlistening)
    serverlistening.daemoin = True
    serverlistening.start()
    root.mainloop()
start()

поидеи при подключении он должен создавать лейб, и если юзер не отвечает лейбл должен пропадать, но пропасть может лишь последний лейбл, если открыть 3 юзера сразу и закрыть все их, пропадет лишь последний открытый


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