Beispiel #1
0
def main():
    SETTINGS = load_setting(is_server=False)
    parser = argparse.ArgumentParser(description='Server arguments')
    parser.add_argument('addr', type=str, nargs='*', default='', help='Clients address')
    parser.add_argument('port', type=int, nargs='*', default='', help='server port')
    args = parser.parse_args()

    if not args.port:
        server_port = SETTINGS["DEFAULT_PORT"]
        logger.warning("Успользуются порт сервера по умолчанию")
    else:
        server_port = args.port
    s = socket(AF_INET, SOCK_STREAM)
    s.bind((args.addr, server_port))
    s.listen(SETTINGS['MAX_CONNECTION'])

    while True:
        client, addr = s.accept()
        try:
            data = get_data_from_message(client.recv(SETTINGS['MAX_PACKAGE_LENGTH']))
            logger.debug(f'Сообщение: {data}, было отправлено клиентом: {addr}')
        except JSONDecodeError:
            logger.exception('Некорректный формат JSON файла')

        send_success_code(client)

        client.close()
 def test_load_settings_not_all_param(self):
     dict_to_json = {
         "DEFAULT_IP_ADDRESS": "127.0.0.1",
         "DEFAULT_PORT": 7777,
         "MAX_CONNECTION": 5,
         "USER": "******"
     }
     with open('test_settings.json', 'w') as f_n:
         f_n.write(json.dumps(dict_to_json))
     with self.assertRaises(ValueError):
         settings = load_setting(is_server=False,
                                 filename='test_settings.json')
    def test_load_settings_normal(self):
        dict_to_json = {
            "DEFAULT_IP_ADDRESS": "127.0.0.1",
            "DEFAULT_PORT": 7777,
            "MAX_CONNECTION": 5,
            "MAX_PACKAGE_LENGTH": 100000,
            "USER": "******"
        }
        with open('test_settings.json', 'w') as f_n:
            f_n.write(json.dumps(dict_to_json))

        settings = load_setting(is_server=False, filename='test_settings.json')
        self.assertEqual(settings, dict_to_json)
Beispiel #4
0
def parser_args():
    """
    Чтение аргументов командной строки
    """
    SETTINGS = load_setting(is_server=False, filename='common/settings.json')
    parser = argparse.ArgumentParser(description='Client arguments')
    parser.add_argument('addr',
                        type=str,
                        nargs='*',
                        default='',
                        help='Server address')
    parser.add_argument('port',
                        type=int,
                        nargs='*',
                        default='',
                        help='server port')
    parser.add_argument('-u',
                        '--username',
                        nargs='*',
                        default='anonymous',
                        help='user name')
    parser.add_argument('-p',
                        '--password',
                        nargs='*',
                        default='qwe',
                        help='password')
    args = parser.parse_args()
    if not args.addr:
        server_addr = SETTINGS["DEFAULT_IP_ADDRESS"]
        logger.warning("Успользуются адрес сервера по умолчанию")
    else:
        server_addr = args.addr

    if not args.port:
        server_port = SETTINGS["DEFAULT_PORT"]
        logger.warning("Успользуются порт сервера по умолчанию")
    else:
        server_port = args.port
    username = args.username[0]
    passwd = args.password[0]

    return server_addr, server_port, username, passwd
Beispiel #5
0
def main():
    SETTINGS = load_setting(is_server=False)
    parser = argparse.ArgumentParser(description='Client arguments')
    parser.add_argument('addr',
                        type=str,
                        nargs='*',
                        default='',
                        help='Server address')
    parser.add_argument('port',
                        type=int,
                        nargs='*',
                        default='',
                        help='server port')
    args = parser.parse_args()

    if not args.addr:
        server_addr = SETTINGS["DEFAULT_IP_ADDRESS"]
        logger.warning("Успользуются адрес сервера по умолчанию")
    else:
        server_addr = args.addr

    if not args.port:
        server_port = SETTINGS["DEFAULT_PORT"]
        logger.warning("Успользуются порт сервера по умолчанию")
    else:
        server_port = args.port

    s = socket(AF_INET, SOCK_STREAM)  # Создать сокет TCP
    try:
        s.connect((server_addr, server_port))  # Соединиться с сервером
    except ConnectionRefusedError:
        logger.critical('Ошибка при подключении к серверу')
        sys.exit(1)
    response = presence(s)
    logger.debug('Сообщение от сервера: ', response)
    s.close()
Beispiel #6
0
        except ValueError:
            message.warning(config_window, 'Ошибка', 'Порт должен быть числом')
        else:
            SETTINGS['DEFAULT_IP_ADDRESS'] = config_window.ip.text()
            if 1023 < port < 65536:
                SETTINGS['DEFAULT_PORT'] = str(port)
                with open('common/settings.json', 'w') as j_file:
                    json.dump(SETTINGS, j_file, indent=4)
                print(SETTINGS)
            else:
                message.warning(config_window, 'Ошибка',
                                'Порт должен быть от 1024 до 65536')
        message.information(config_window, 'OK',
                            'Настройки успешно сохранены!')

    SETTINGS = load_setting(is_server=False, filename='common/settings.json')
    parser = argparse.ArgumentParser(description='Server arguments')
    parser.add_argument('addr',
                        type=str,
                        nargs='*',
                        default='',
                        help='Clients address')
    parser.add_argument('port',
                        type=int,
                        nargs='*',
                        default='',
                        help='server port')
    args = parser.parse_args()
    if not args.port:
        server_port = int(SETTINGS["DEFAULT_PORT"])
        logger.warning("Успользуются порт сервера по умолчанию")