示例#1
0
    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
示例#2
0
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
示例#3
0
 def RegisterEvent(self, every_x, action):
     tk = tokening.CreateToken(6, self.events)
     self.events[tk] = Event(every_x, action, tk)
     return self.events[tk]