def ConnectionBroker(self): """ Server background task for accepting connections, you'll not need to use this. :rtype: None """ while self.running: try: conn, addr = self.server.accept() if self.running == False: conn.close() return conID = tokening.CreateToken(12, self.connections) connector = Socket_Server_Client( conn, addr, self, conID, self.on_connection_open, self.on_data_recv, on_question=self.on_question, on_close=self.close_connection, Heart_Beat=self.heart_beats, Heart_Beat_Wait=self.heart_beat_wait, legacy_buffer_size=self.legacy_buffer_size, PYTHONIC_only=self.PYTHONIC_only) self.connections[conID] = connector time.sleep(0.05) except Exception as e: self.running = False raise e
def create_NONCE(password): challenge = { "challenge": { "nonce": tokening.CreateToken(40), "ts": str(TimeStamp()) } } challenge['verify'] = md5((str(challenge['challenge']['ts']) + ":" + password + ":" + challenge['challenge']['nonce']).encode()).hexdigest() return challenge
def RegisterEvent(self, every_x, action): tk = tokening.CreateToken(6, self.events) self.events[tk] = Event(every_x, action, tk) return self.events[tk]