Я пишу скрипт на Python, проверяющий / отслеживающий состояние нескольких серверов / веб-сайтов (время отклика и тому подобное), это программа с графическим интерфейсом, и я использую отдельный поток для проверки различных серверов / веб-сайтов, и основная структура каждого потока: используя бесконечный цикл while для запроса этого сайта каждый случайный промежуток времени (от 15 до 30 секунд), как только на веб-сайте / сервере происходят изменения, каждый поток запускает новый поток, чтобы выполнить тщательную проверку (запросить больше страниц и тому подобное).
Проблема в том, что мое интернет-соединение всегда блокировалось / блокировалось / портилось после нескольких часов работы этого скрипта, ситуация такова, что со стороны моего скрипта я получал ошибку urlopen по таймауту каждый раз, когда он запрашивал страницу, и из моего Сторона браузера Firefox Я не могу открыть ни один сайт. Но странная вещь заключается в том, что в тот момент, когда я закрываю свой сценарий, мое интернет-соединение немедленно восстанавливается, что означает, что теперь я могу просматривать любой сайт через свой браузер, так что это должен быть сценарий, вызывающий все проблемы.
Я тщательно проверил программу и даже использую del
, чтобы удалить любое соединение, как только оно будет использовано, но проблема та же. Я использую только urllib2, urllib, mechanize для выполнения сетевых запросов.
Кто-нибудь знает, почему это происходит? Как мне отладить эту проблему? Есть ли инструмент или что-то, чтобы проверить состояние моей сети, когда такая ситуация возникает? Это действительно беспокоит меня некоторое время ...
Кстати, я за VPN, это как-то связано с этой проблемой? Хотя я так не думаю, потому что моя сеть всегда включается после закрытия скрипта, и VPN-соединение никогда не прерывается (как кажется) в течение всего процесса.
[ Обновление: ]
Только что нашел больше информации об этой проблеме, когда моя программа отключает интернет-соединение, ну, это не совсем "отключено", я имею в виду, я не могу открыть какой-либо сайт в своем браузере или всегда получаю тайм-аут по ошибке urlopen, но я все еще можете получить ответ, используя "ping google.com" в строке cmd. И когда я вручную отключил VPN-соединение, затем набрал номер, не закрывая программу, она снова начинает работать, и я также могу просматривать Интернет-страницы через свой браузер. Почему это происходит?