Exemplo n.º 1
0
            keys = RSA.import_key(key.read())

    # !!!keys.publickey().export_key()
    logger.debug("Keys sucsessfully loaded.")
    # Создаём объект базы данных
    database = ClientDatabase(client_name)
    # Создаём объект - транспорт и запускаем транспортный поток
    try:
        transport = ClientTransport(server_port, server_address, database,
                                    client_name, client_passwd, keys)
        logger.debug("Transport ready.")
    except ServerError as error:
        message = QMessageBox()
        message.critical(start_dialog, 'Ошибка сервера', error.text)
        sys.exit(1)
    transport.setDaemon(True)
    transport.start()

    # Удалим объект диалога за ненадобностью
    del start_dialog

    # Создаём GUI
    main_window = ClientMainWindow(database, transport, keys)
    main_window.make_connection(transport)
    main_window.setWindowTitle(f'Чат Программа alpha release - {client_name}')
    client_app.exec_()

    # Раз графическая оболочка закрылась, закрываем транспорт
    transport.transport_shutdown()
    transport.join()
Exemplo n.º 2
0
        with open(key_file, 'rb') as key:
            keys = RSA.import_key(key.read())

    # !!!keys.publickey().export_key()
    CLIENT_LOGGER.debug("Keys successfully loaded.")

    # Инициализация БД
    database = ClientDatabase(client_name)

    # Инициализация сокета и запуск потока
    try:
        tcp_sock = ClientTransport(server_port, server_address, database, client_name, client_passwd, keys)
        CLIENT_LOGGER.debug("Socket ready.")
    except Exception as ErrorNotConnection:
        message = QMessageBox()
        message.critical(start_dialog, 'Ошибка сервера', f'{ErrorNotConnection} - нет соединения')
        CLIENT_LOGGER.error(f'Не удалось подключиться к серверу {server_address}:{server_port}')
        sys.exit(1)
    tcp_sock.setDaemon(True)
    tcp_sock.start()

    # Создание GUI
    main_window = ClientMainWindow(database, tcp_sock, keys)
    main_window.make_connection(tcp_sock)
    main_window.setWindowTitle(f'Чат-программа b-release - {client_name}')
    client_app.exec_()

    # После закрытия графической оболочки, закрываем сокет
    tcp_sock.transport_shutdown()
    tcp_sock.join()