Esempio n. 1
0
def main():
    global PRIVATE_KEY, NAME_DICTIONARY

    args = parse_args()
    disable_auth = True
    print("Server start [%d]" % args.port)

    server = WebsocketServer(args.port)

    if args.ca_file:
        print("Private Key : %s" % args.ca_file)
        PRIVATE_KEY = args.ca_file
        disable_auth = False
    else:
        PRIVATE_KEY = ""

    if args.name_dictionary:
        print("Name Dictionary : %s" % args.name_dictionary)
        NAME_DICTIONARY = args.name_dictionary
    else:
        NAME_DICTIONARY = ""

    server.set_disable_auth(disable_auth)
    server.set_fn_new_client(new_client)
    server.set_fn_client_left(client_left)
    server.set_fn_message_received(message_received)
    server.set_fn_ping_received(ping_received)
    server.set_fn_pong_received(pong_received)

    def check_user_status():
        while True:
            for client in server.get_client_list():
                if client['auth'] == False and int(
                        time.time()) - client['login_time'] > 5:
                    server.send_exit(client)
            time.sleep(1)

    thread = threading.Thread(target=check_user_status)
    thread.daemon = True
    thread.start()

    server.run_forever()