PDA

Просмотр полной версии : как сделать чтоб не ждать ответа от 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;


а то идёт зависание программы (

Ra$cal
27.08.2009, 17:47
поток создавай для запроса. и синхронизируй с основным потоком.

neprovad
27.08.2009, 18:01
это не паскаль вызывать все подряд, используй обработчики событий.

intNet
27.08.2009, 18:05
юзать winsock.

x0man
28.08.2009, 12:37
>>поток создавай для запроса. и синхронизируй с основным потоком.
+1 за создание потока

>>это не паскаль вызывать все подряд, используй обработчики событий.
Чушь какаято.

>>юзать winsock.
Не конкретный ответ -1 =\

Chrome~
28.08.2009, 13:00
Самый наилучший вариант, - используй Winsock.

Достаточно:
1) Инициализировать работу с Winsock.
2) Создать сокет.
3) Подключится к хосту (сайту).
4) Отправить данные.
5) Сразу же закрыть сокет, не дожидаясь ответа.
6) Завершить работу с Winsock.

][yZ
28.08.2009, 13:30
Если используешь Indy, то юзай IdHttp.Head(site)

nerezus
28.08.2009, 15:44
Либо потоки, либо события.

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


Конкрентее помоему некуда :)