nApoBo3, Реализовывал подобное на FreeBSD с помощью нескольких таблиц маршрутизации и настройки тамошнего фаервола ipfw (тогда у меня было 2 канала в интернет и нужно было реализовать балансировку и отказоустойчивость). Было достаточно не тривиально и мануалов толково разъясняющих как это делать на тот момент не нашел, хотя потратил на поиски много времени. Пришлось разбираться самому.
По линуксу у меня мало опыта, не скажу на сколько там это сложно, подход, видимо, будет примерно таким же как и на FreeBSD.
А у человека вообще винда, на сколько я понимаю. Что у винды с поддержкой множественных таблиц маршрутизации - х.з.
Зачем вам 3 вложенных цикла? Хватит и одного и код будет проще.
1.Если текущий символ такой же как предыдущий, то сохраняете позицию предыдущего.
2.Далее ищете первый символ не равный предыдущему. Если разность позиций предыдущего символа и сохраненной позиции больше 3 - копируете символы с сохраненной позиции до предыдущего символа включительно.
3.повторяете п.1 и 2 с текущей позиции
Для копирования используйте std::memcpy или string.
baden555, переподключений быть и не должно, это у вас какая-то аномалия. Может это баг в версии зашитой в роутер. Попробуйте обновить прошивку. Посмотрите на роутере какой рабочий конфиг OpenVPN получился.
Другой вариант - устанавливайте ВПН соединение не роутером, а на каком-либо компе и через него пускайте весь ВПН трафик.
Герман, Кнопка единственная на форме? Другие элементы управления есть? Попробуйте после создания окна принудительно перевести фокус, например на родительское окно (SetFocus()). На сколько помню WS_TABSTOPа было достаточно, но уже давно не занимался подобным...
Это фокус ввода с клавиатуры.
Индикация того где находится фокус ввода как минимум полезна.
Попробуйте убрать стиль WS_TABSTOP, после создания кнопки. Но тогда вы не сможете попасть на кнопку с помощью клавиатуры.
Так же можно перехватывать событие WM_SETFOCUS ничего не делать и возвращать 0 - как признак того, что сообщение обработано.
Перехватывать WM_PAINT кнопки и рисовать ее самому, в этом случае вместо рамки можно нарисовать такой фокус, который тебе хочется.
devilsD, Вам кажется, что подходы разные. Просто в 1 случае у вас 2 таблицы с параметрами, а во 2 - 1.
На счет индексов - я в курсе.
Я видел в работе и тот и другой вариант.
По идее трафик идет через тунель, между двумя клиентами, но через некоторое время график замирает, после переподключения восстанавливает активность. На графике в это время провал.
Значит трафик действительно идет через туннель и значит причина разрывов не в keepalive.
Может качество связи плавает? Пустите параллельно пинг на гугл со стороны роутера и наблюдайте за задержками.
Для автоматической настройки keepalive на клиентах можно на сервере добавить следующие опции:
push "ping 5"
push "ping-restart 90"
На клиенте рекомендуется ping-restart 90 делать в 2 раза меньше, чем на сервере (2 аргумент в keepalive). https://openvpn.net/community-resources/reference-...
Современные дисководы, которые еще кое-кто делает, полное говно. Они бывают не способны прочитать даже абсолютно новую дискету, а часто и сами ее убивают.
Не нужно. На последнем скрине видно, что SceneCapture->TextuteTarget == 0, поэтому ошибка.
Разбирайтесь.
Будут еще ошибки, постите код где она происходит.
Попробуйте чем-нибудь восстановить разделы и/или файлы: https://remontka.pro/free-data-recovery-software/