Косяк с проверкой на бан.
Качается сейчас район Феодосии (Крым) в 19 масштабе. И вдруг ни с того ни с сего начинают вылетать окошки браузера с открытой вот этой вот картинкой:
- sat_z19_153_x156685_92_y94265.jpg (4.24 KiB) Просмотров: 5218
Весит она 4338 байт. Для гугла стоит BanIfLen=4321.
Вероятность того, что попадётся картинка такого размера очень вероятна. Может быть определять бан по сигнатуре файла? По первым байтам?
Это ещё не всё. Механизм закачки пытается повторно закачивать подозрительный тайл, в результате чего открывается всё больше и больше окон браузера. Если бы я оставил закачку на ночь, то придя утром сильно бы удивился=))).
Надо:
1. Определять бан по пришедшему контенту, а не только по его размеру.
2. Ограничить количество попыток скачивания при подозрении на бан.
3. При запущеных нескольких потоках закачки учитывать, что раз один поток не забанили на этих картах, значит на втором тоже не бан. а такая вот картинка "банная"..
4. Сделать чтобы интервал между любыми попытками в проге был не фиксированный, а изменялся экспоненциально от времени продолжения этих попыток. То есть первые попытки должны происходить чаще, следующие всё реже и реже и с какого-то порогового момента интервал снова должен стать постоянным, но достаточно большим. порядка минут, а-то и часов. Это повысит, во первых, вероятность дождаться-таки разбанивания, а во вторых не даст потратиться куче трафика, например, на такую вот ситуацию как у меня.
5. В случае продолжающихся попыток скачать тайл, надо сделать возможность пропустить некачающийся (якобы) тайл.
И в том районе не одна картинка приблизительно такого размера! Далеко не одна!