Некоторое время назад я задал вопрос, касающийся поддержания контрольного соединения в сеансе FTP во время большой передачи.Хотя я и добился успеха после того, как реализовал решение для вопроса, который я уже задал , похоже, что проблема заключается в ISP, то есть из-за того, что мои контрольные соединения умирают во время больших передач.
Интересно, что старая клиентская программа FTP «Leap-FTP» решает эту проблему, просто отправляя команды «NOOP» на сервер по управляющему соединению во время загрузки.В то время как другие популярные клиенты умирают во время переносов (Filezilla, мой скрипт на Python FTP), LeapFTP хорошо работает из-за этого обходного пути.
Я провел некоторое исследование потоков и очереди, но у меня возникли проблемы с созданием кодачтобы это произошло.
Решение кажется достаточно простым (по крайней мере, в моей голове): инициируйте загрузку, пока запускается эта функция загрузки, отправляйте команду NOOP каждые n секунд.Прекратите посылать команду NOOP после завершения функции загрузки.
Я надеюсь, что кто-то может дать мне предложение относительно того, как это можно сделать.Это будет связано с использованием многопоточности, очереди или есть более простое решение?
Суть в том, что после большого количества испытаний команду NOOP придется отправлять во время больших загрузок (которые осуществляются на TCP-портах с большим номером).
Спасибо!