from .Participant import Participant from .Thing import Thing from . import Messages import select class SiteServer(Participant): def __init__(self, ipAddress, port): super().__init__(ipAddress, port) self.udpSocket.setblocking(0) def Update(self, currentTime): ready_to_read, _, _ = select.select([self.udpSocket], [], [], 0.1) # Timeout of 0.1 seconds if ready_to_read: data, addr = self.udpSocket.recvfrom(1024) self.ReceiveData(data) return super().Update(currentTime) def ProcessNetworkIdMsg(self, thing_msg): self.network_id = thing_msg.network_id thing = next(iter(Thing.allThings)) thing_msg = Messages.ThingMsg(self.network_id, thing) thing_msg.SendTo(self) name_msg = Messages.NameMsg(self.network_id, thing) name_msg.SendTo(self) model_msg = Messages.ModelUrlMsg(self.network_id, thing) model_msg.SendTo(self)