def __init__(self): self.peerID = self.genID() self.caches = Caches.Caches(self.peerID) self.sender = Sender.Sender() self.receiver = Receiver.Receiver(self.peerID, ("0.0.0.0", 5000), self.caches) self.handler = Handler.Handler(self.peerID, self.caches) self.t1 = threading.Thread(target=self.receiver.multicast).start() self.t2 = threading.Thread(target=self.receiver.unicast).start() self.t3 = threading.Thread(target=self.receiver.receive_files).start() self.lock = Lock()