Andymion, Возможно, что проблему можно решить динамической маршрутизацией, если анонсировать подсети с маской 32.
Если сервера с openvpn поставить за общим шлюзом, то, теоретически, на нем можно разруливать каналы сохраняя "состояния", т.е. например первый пакет от такого-то адреса пришел с 1 хоста, значит весь трафик на/с этого адреса будет пересылать через 1 хост, если со 2 хоста - то через него.
Нечто подобное делал на базе фаервола ipfw из состава FreeBSD - разруливал 2 канала в интернет от разных провайдеров. Думаю эту же технику можно применить и к вашей задаче.
Аналогичные возможности есть в фаерволе pf и iptables (если не ошибаюсь), но там это на более высоком уровне, не уверен, что подойдет для вашего случая. В этом плане ipfw более низкоуровневый инструмент, но позволяет все сделать более гибко с учетом конкретной специфики.
Andymion, Честно говоря никогда не имел дела с openvpn с такой нагрузкой, поэтому не знаю как она себя ведет, но:
1. однопоточная не значит медленная, если однопоточная, то скорее всего там применен асинхронный ввод/вывод, а этот метод как раз используется в высоконагруженных серверах. Например nginx.
2.фиксированный IP - похоже вы сами себе злобный буратино. От НАТа вы отказались, IP менять вы не хотите. Как тогда будет осуществляться маршрутизация?
DmitriyShuhov, Была аналогичная вашей ситуация, только меня больше волновала невозможность автоматической установки обновлений (как раз вышла очередное крупное обновление). Так же не работал и магазин, но это я уже выяснил в ходе дальнейших раскопок.
Т.к. это было на моем личном ноуте, то я потратил три дня на попытки исправить ситуацию. Безрезультатно. В итоге переустанавливал винду.
Причем переустановка через обновление так же заканчивалась не удачно. Пришлось переустанавливать с "нуля".
Я не призываю вас все бросить и переустанавливать винду (но есть вероятность, что этим все и закончится), попробуйте что-нибудь предпринять, возможно в инете появились рецепты для данной ситуации. Гуглите. Может получится что-нибудь сделать.
Было бы не плохо, если вы тут напишете чем все закончится.
PS: Вин10 оказалась не очень стабильной ОС. Таких странных проблем в ХР и Вин7 не было, имхо.
Клиент для mysql идет в составе mysql (ну или отдельно) от разработчика, обертки для него, чтоб можно было использовать из PHP (java, Python, ...) пишут другие, обертки, как правило, используют стандартный клиент.
Twelfth Doctor, Чем лезть в код библиотеки, можно было бы просто задать в опциях компилятора -DNLOHMANN_JSON_HPP или в своем исходнике перед #include добавить:
#define NLOHMANN_JSON_HPP
Обновите библиотеку или будете собирать свое приложение на другом компе эта ошибка опять всплывет.
athacker, Даниил, по RDP можно сделать так чтобы локальная консоль не блокировалась, зовется это shadow remote control, по умолчанию выключено, требует предварительной настройки. Но работает потом без всякого доп.ПО.
Vadim kyklaed, Раз при компиляции нет ошибок, значит знает. На MSDN нашел, что в 2008 студии это есть.
Но суть то не в том знает или нет. Перед тем как выделять массив вы должны знать сколько элементов в нем будет. Это без относительно того какой у вас массив VLA/статический/динамический.
Если по условию задачи вы этого не знаете (как у вас), то обычно выделяют сразу какой-то небольшой массив фиксированного размера, если элементов оказывается больше, то выделяют массив большего размера, переносят данные из первого во второй, первый освобождают.
На самом деле, если уж вы пользуетесь С++, то есть смысл использовать и классы стандартной библиотеки для массивов, там все это уже реализовано и спрятано внутрь классов.
Но для лучшего понимания массивов и работы памяти в С/С++ реализуйте это один раз вручную, когда разберетесь можно будет использовать stdlib.
Vadim kyklaed, Нет, в современных стандартах размер массива может не быть константой. VLA - Variable Size Array. Возможность введенная в языки С/С++ относительно не давно.
Это как раз то что вы используете.
И хоть компилятор и проглатывает значение N=0 при определении массива, но при этом память не выделяется. У этого варианта определения массива есть свои нюансы и не всегда его нужно применять.
Csus4, Если исходников нет - запускаете приложение под дебагером ищите место где используется функция EnumWindows, ставите перед ней точку останова и курите ассемблерный код до полного просветления. Еще нужно учесть, что эта функция может использоваться в разным местах приложения и параметры могут быть разные.
youngmysteriouslight, Не знаю, что у вас там проведено, но наличие поля name в SAL и DEG говорит само за себя.
А на счет первого вопроса - как выше писал Станислав Макаров вам поможет view. view вы не должны менять, только исходную таблицу. В "нормальных" SQL серверах кэшированием view занимаются сами сервера автоматически, как работает MySQL - не знаю.
Pproger_12, Да.
Вот тут кратко о том как обновлять пакеты. Рекомендую сразу же после установки обновится.
Устанавливать дополнительные пакеты:
pacman -S <имя пакета>
Установка средств разработки:
pacman -S base-devel
Установка gcc для x32 и x64 сборок.
pacman -S mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain
Так же можно установить и Qt и QtCreator непосредственно в msys:
QT5
pacman -S mingw32/mingw-w64-i686-qt5 mingw64/mingw-w64-x86_64-qt5
QT Creator
pacman -S mingw32/mingw-w64-i686-qt-creator mingw64/mingw-w64-x86_64-qt-creator
Про 168 не знал :-)
Дополню ответ: во первых действительно - стандарт, а во вторых нужны были диапазоны под приватные адреса, вот выбрали этот.
Кроме него есть и другие:
10.0.0.0/8
172.16.0.0/12
Так же есть и другие диапазоны, выделенные для других целей, из известных, например:
127.0.0.0/8
Дмитрий, && - это логическое И, а & - побитовая И.
Когда вы будете читать этот код через год, для вас может стать загадкой - "что я тут делаю битовой операцией".
Эти операции разные, работают по разному и нужны для разного, не следует использовать битовую там где нужна логическая.
Если сервера с openvpn поставить за общим шлюзом, то, теоретически, на нем можно разруливать каналы сохраняя "состояния", т.е. например первый пакет от такого-то адреса пришел с 1 хоста, значит весь трафик на/с этого адреса будет пересылать через 1 хост, если со 2 хоста - то через него.
Нечто подобное делал на базе фаервола ipfw из состава FreeBSD - разруливал 2 канала в интернет от разных провайдеров. Думаю эту же технику можно применить и к вашей задаче.
Аналогичные возможности есть в фаерволе pf и iptables (если не ошибаюсь), но там это на более высоком уровне, не уверен, что подойдет для вашего случая. В этом плане ipfw более низкоуровневый инструмент, но позволяет все сделать более гибко с учетом конкретной специфики.