Я бы хотел загрузить файл из моей программы Delphi в отдельном потоке, посвященном загрузке.
Проблема в том, что основная программа может быть закрыта в любое время (таким образом, поток загрузки может быть прерванв любое время).Поэтому, даже если соединение отсутствует или сервер зависает на драгоценные секунды, мне нужен способ прекратить поток загрузки в течение одной или двух секунд.
Какую функцию вы, ребята, рекомендуете использовать?
Я экспериментировал с InterOpenURL / InternetReadFile, но у него нет параметра времени ожидания.У него действительно есть асинхронная версия, но я не смог найти ни одного работающего примера Delphi, и я не уверен, защитит ли меня асинхронная версия от зависаний ...
Использование сокетов было рекомендовано мне ранее, ноTClientSocket, похоже, не имеет функции тайм-аута.
Мне нужно быть полностью подготовленным, поэтому, если у пользователя проблемы с подключением к Интернету на его / ее компьютере или веб-сервер продолжает отставать, мое приложение неt повесить перед закрытием.
Пожалуйста, имейте в виду, отвечая, что я не хочу использовать ни сторонние компоненты, ни Indy.Любой пример кода с благодарностью.
Спасибо!