def __init__(self, host="localhost", port=8080, moduleID="Dummy", slots=[], signals=[]): """ Args: host (str, optional): IP-Address of the server hosting the socket.io-Server (default is localhost) port (int, optional): Port on which the server is listening (default is 8080) name (str, optional): ModuleID of the connecting module (default is Dummy) slots (list, optional): list of all slots on which the socket is receiving messages (default is an empty list) signals (list, optional): a list of all signals the socket can send (default is an empty list) """ Thread.__init__(self) UAV_Logger.log("registring to host") self.host = host self.port = port self.name = moduleID self.socketIO = SocketIO(host, port) self.slots = slots # self.signals = signals UAV_Logger.log("initialising listening") self.socketIO.on('connect', self.onConnect) self.polling_frequenze = 1 # new poll every second self.listening = False self.__initListening__()
def onConnect(self, *args): """Slot for handling a connect-event""" UAV_Logger.log("connect signal recieved") self.socketIO.emit('CORE_SL_SLOTS_SET', Request(self.getModuleName()).newData({"slots":self.slots}).toDictionary())
def __del__(self): UAV_Logger.log("deleting socket...") self.kill()
def kill(self): """Killing the socket""" self.listening = False while(self.isAlive()): time.sleep(1) UAV_Logger.log("Socket killed")