RoboidControl-python/SiteServer.py
2024-12-22 10:22:32 +01:00

29 lines
999 B
Python

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)