В вопрос надо добавить полный traceback ошибки. Текст traceback оберните тэгом code и спрячьте под спойлер.
Также код в вопросе оберните тэгом code.
Название вопроса надо исправить, в противном случае вопрос может быть удалён модератором.
Также надо второй вопрос выделить в отдельный вопрос (после того, как тут с ошибкой разберётесь).
Никита Булгак, для размещения кода html используйте сервис codepen, а его ссылку вставьте через плюсик в меню редактора сообщения.
Скриншоты кода запрещены.
Думаю, самым простым способом будет обрабатывать эту ошибку и стучаться в базу до тех пор, пока базу не отпустит другой процесс. Конечно, в обоих процессах сделать работу с базой в режиме «открыл/сделал запрос/получил ответ/закрыл», чтоб не висела сессия постоянно. И паузы сделать, чтоб другой процесс успевал ченьть сделать.
Ну и, как минимум, для каждого процесса должен быть отдельный аккаунт в базе, со своими узкими правами (не суперюзер и не админ, надеюсь).
Кроме того, можно базу настроить с разными уровнями контроля за разнообразными коллизиями, в зависимости от критичности.
Алексей Гончаров, во-первых, не гони волну. Веди себя прилично, а то живо в бан улетишь. Тебе говорят, что ты не понимаешь, как устроена и работает система, а ты начинаешь пальцы кидать - «вы ничиво нипанимаити, и идите отседова, а я кулхацкер и щас всё взломаю». Не надо так.
Во-вторых, ваше предположение об изменении windows посредством c++ примерно соответствует предположению дошколенка о том, что доктор лечит градусником, шприцом и трубкой, которую к спине прикладывает и говорит «дышите». Вот буквально так. Я не шучу и не стебусь.
Для изменения windows (удаления корзины, например) не надо писать на c++. Надо разобраться, как устроена система и найти в ней те места, которые связаны с корзиной. И понять, как правильно эти места изменить, чтобы корзина перестала работать, как обычно.
В принципе, после этого можно на c++ написать программу, которая будет модифицировать windows, изменяя места, которые нужны, чтобы корзины не стало. Вот только сначала вам надо найти эти места. А если вы их нашли, то зачем писать что-то на c++? Хоть .bat-файл напишите, не важно чем вы менять будете.
Ваш вопрос не имеет смысла, как вопрос дошколенка «мама, а давай бабушке поставим градусник и вылечим её»…
AVKor, слушайте, ради любопытства полистал списки - ну правда:
Черенков, Ландау, Капица, Алферов, Гинзбург - неужели этих фамилий никто не знает?
И ещё несколько менее громкие, но вполне достойные Франк, Тамм, Басов, Прохоров, Абрикосов, Новоселов…
InTostor, я как рассуждаю:
Клиент должен по-умолчанию стучаться на определённый маршрутизатор, чтобы соединиться с любым адресом вне своей сети. Соответственно, лучше, чтобы этот маршрутизатор смотрел, в какую сеть хочет попасть клиент, и отправлял пакеты туда, куда положено по правилам в маршрутизаторе. Это путь прямой и понятный. Маршрутизаторы у вас под управлением, всё под контролем.
А устраивать нечто непонятно как управляемое на каждом клиенте - это мне не нравится.
Вот красава, честно!
Перенесите в ответы. Тут многие задают вопросы за эти сборки, что да как. Хоть один взял и расписал. Возможно, где-то уже было, но вменяемых мануалов всегда не хватает.
Не особо знаю всю кухню, но по здравому размышлению:
А между клиентами внутренний трафик планируется существенный? Если нет, то если каждый роутер настроить так, чтобы для него провайдер и второй роутер были бы как два провайдера, и в каждом роутере отдельно настроить балансировщик, то по-идее трафик каждого клиента будет примерно равномерно сбалансирован между двумя провайдерами.
Хотя наверно могут возникать петли… или не могут?
А вот если трафик между клиентами сравним по масштабу с исходящим трафиком, то это надо как-то разделять. Или как-то указать, что балансировать только внешний трафик, не имеющий конечной целью клиентов.
А практически какая-то разница есть? В том смысле, что можно оставить как есть, до тех пор, пока в это не упрется какая-то проблема. Не надо чинить то, что не сломалось. Работает - не трожь. Есть чем заняться ещё по проекту - займитесь.
Также код в вопросе оберните тэгом code.
Название вопроса надо исправить, в противном случае вопрос может быть удалён модератором.
Также надо второй вопрос выделить в отдельный вопрос (после того, как тут с ошибкой разберётесь).