Изменение настройки PySocks не перемещает открытое соединение
Отделите будущие настройки прокси сокета PySocks от установленного соединения и предпочитайте новый сокет при выборе другого маршрута.
set_proxy сохраняет конфигурацию прокси, которую сокет PySocks использует при установке соединения. Он не переносит работающий поток от одного посредника к другому.
После открытия соединения его байты принадлежат этому установленному пути. Очистка сохранённой конфигурации прокси не является запросом на перемещение соединения напрямую к месту назначения, а смена адреса не переносит его на новый выход.
Для другого маршрута создайте новый сокет, осознанно настройте его и установите новое соединение с местом назначения. Закройте старый сокет через обычный жизненный цикл приложения.
Держите настройки отдельного сокета отдельно от глобального значения по умолчанию или от monkey-patching модуля socket. Глобальные изменения могут повлиять на последующие сокеты в другом коде, не объясняя, что уже делает существующий сокет.
Если протокол приложения требует непрерывной сессии, повторное подключение требует и логики восстановления этого протокола. Новый путь TCP и другой публичный IP не сохраняют автоматически транзакционное или аутентифицированное состояние приложения.