Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2011, 11:22   #1
leonidus
Новичок
Джуниор
 
Регистрация: 05.12.2011
Сообщений: 4
По умолчанию Таймат у Synapse

Есть код для загрузки большого архива через синапс:

var
fHTTP:THttpSend;
t:ttime;
s:string;
ms:TmemoryStream;
begin
ms:=TmemoryStream.Create;
label2.Caption:=timetostr(Now);
fHTTP:=THttpSend.Create;
HttpGetBinary('...test.zip', ms);
ms.SaveToFile('file.zip');
ms.Free;
fHTTP.Free;
label4.Caption:=timetostr(Now);

Закачка у меня осуществляется порядка 10 секунд и все это время програма висит, что на данный момент меня пока устраивает. Если в ходе закачки оборвать связь с инетом, программа может висеть несколько минут пока связь не возобновитсья. После возобновления получаю файл целым как и положено. Однако теперь мне нужно как-то реализовать таймаут. Если в течение N секунд ничего не получаем - продолжаем работу программы и она не зависает так надолго.

Пробовал так
fHTTP.Sock.SocksTimeout:=2000;
и так
fHTTP.Timeout:=2000;

бесполезно. Подскажите кто с талкивался с подобной проблемой?
leonidus вне форума Ответить с цитированием
Старый 05.12.2011, 19:39   #2
Bright-rider
Форумчанин
 
Регистрация: 09.07.2010
Сообщений: 102
По умолчанию

Вынеси в отдельный поток загрузку архива и форма не будет подвисать.
Bright-rider вне форума Ответить с цитированием
Старый 06.12.2011, 15:59   #3
Santino
 
Регистрация: 09.06.2011
Сообщений: 3
По умолчанию

Посмотри свойства KeepAlive и KeepAliveTimeout

{:If @true (default value), keepalives in HTTP protocol 1.1 is enabled.}
property KeepAlive: Boolean read FKeepAlive Write FKeepAlive;

{:Define timeout for keepalives in seconds!}
property KeepAliveTimeout: integer read FKeepAliveTimeout Write FKeepAliveTimeout;
Santino вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не пашет synapse bulldog5293 Компоненты Delphi 0 21.10.2011 19:42
Winsock/Wininet/Synapse cargo29 Работа с сетью в Delphi 2 22.07.2011 14:10
Капча и Synapse kakawkin Работа с сетью в Delphi 1 01.06.2011 15:30
Кривой synapse? chikaga Работа с сетью в Delphi 2 15.12.2010 12:03
Synapse FanRa3 Общие вопросы Delphi 1 09.12.2010 21:06