Просмотр полной версии : как сделать чтоб не ждать ответа от get запроса?
Student :)
27.08.2009, 17:34
Уважвемые коллеги! как сделать чтоб не ждать ответа от get запроса?
begin
httpcli1.FollowRelocation:=true;
httpcli1.URL:='admin:admin@192.168.0.1/cgi-bin/reset.cgi';
httpcli1.Get;
httpcli1.free;
end;
а то идёт зависание программы (
поток создавай для запроса. и синхронизируй с основным потоком.
neprovad
27.08.2009, 18:01
это не паскаль вызывать все подряд, используй обработчики событий.
>>поток создавай для запроса. и синхронизируй с основным потоком.
+1 за создание потока
>>это не паскаль вызывать все подряд, используй обработчики событий.
Чушь какаято.
>>юзать winsock.
Не конкретный ответ -1 =\
Самый наилучший вариант, - используй Winsock.
Достаточно:
1) Инициализировать работу с Winsock.
2) Создать сокет.
3) Подключится к хосту (сайту).
4) Отправить данные.
5) Сразу же закрыть сокет, не дожидаясь ответа.
6) Завершить работу с Winsock.
Если используешь Indy, то юзай IdHttp.Head(site)
Либо потоки, либо события.
M_script_
29.08.2009, 14:51
Единственный, как мне кажется, вариант, чтобы программа не дожидалась ответа от сервера после GET-запроса, это удаление объекта, отправившего данный запрос.
Несмотря на то, что программа не будет ждать получения ответа от сервера, а продолжит выполнение, этот ответ все равно будет отправлен сервером на твой IP-адрес, сетевые протоколы не переделать =)
Если бы ты более конкретно описал цель всего этого, то пользы тебе было бы гораздо больше.
mr. ZetRikS
29.08.2009, 17:01
Помоему, поток дополнительно создавать не актуально, если нет необходимости работать с более чем 1 запросом одновременно... А в данном случае тем более нет необходимости, так как ответ ждать не нужно, юзай WinSock (сокеты) как тебе уже и предлагали, с потоками не заморачивайся...
Поискал: http://forum.antichat.ru/showthread.php?p=1385086
Конкрентее помоему некуда :)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot