Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.13;
Скачать: CL | DM;

Вниз

Несколько HTTP запросов один за одним   Найти похожие ветки 

 
AlexanderSK   (2003-11-10 16:54) [0]

var
i: Integer;
begin
for i := 0 to 100 do
begin
HTTP.Body := "MyFile" + IntToStr(i);
HTTP.Get("MyURI" + IntToStr(i) + ".html");
end;

При выполнении этого кода переодически возникает ошибка - "10057:Socket is not connected"

В чем дело? Подскажите, пожалуйста, как ее избежать!


 
Reindeer Moss Eater ©   (2003-11-10 16:57) [1]

Текст ошибки ни о чем не говорит?


 
AlexanderSK   (2003-11-10 17:28) [2]

>Reindeer Moss Eater © (10.11.03 16:57) [1]
Нет не говорит!
Потому что если сделать так:
begin
ShowMessage("MyURI" + IntToStr(i) + ".html"); {Приличная задержка по времени}
HTTP.Body := "MyFile" + IntToStr(i);
HTTP.Get("MyURI" + IntToStr(i) + ".html");
end;
то все прекрасно работает!


 
Reindeer Moss Eater ©   (2003-11-10 17:33) [3]

1.Ты только что дал один из вариантов ответа на свой собственный вопрос.

2. Что такое HTTP?

3. Подозреваю, что это HTTP клиент с асинхронным режимом работы.
(если последнее верно, то чего же ты ожидал от такого кода?)


 
AlexanderSK   (2003-11-10 17:48) [4]

Ну а как с этом бороться?


 
Reindeer Moss Eater ©   (2003-11-10 17:58) [5]

На вопрос ответь.
Пункт 2 поста номер 3


 
AlexanderSK   (2003-11-11 16:14) [6]

>Reindeer Moss Eater © (10.11.03 17:58) [5]
>На вопрос ответь.
>Пункт 2 поста номер 3
Протокол!


 
Reindeer Moss Eater ©   (2003-11-11 16:21) [7]

В твоем, ..., исходнике ... переменная по фамилии "HTTP" - это что? ....!


 
AlexanderSK   (2003-11-11 16:26) [8]

>Reindeer Moss Eater © (11.11.03 16:21) [7]
HTTP: TNMHTTP;


 
Reindeer Moss Eater ©   (2003-11-11 16:39) [9]

Так вот: это - компоненты, использующие асинхронный режим.
После вызова метода Get компонент начинает в поте лица выкачивать указанный урл.
Сразу после этого (после вызова, а не после окончания закачки)происходит немедленный возврат (переход к выполнению следующей строки исходника иными словами).
И этому же самому экземпляру говорят: брось все нафик, качай следующий урл.
И так сто раз подряд.


 
Reindeer Moss Eater ©   (2003-11-11 16:48) [10]

101 раз подряд


 
AlexanderSK   (2003-11-11 17:36) [11]

А как же тогда быть? Как заставить его работать в синхронном режиме?


 
Reindeer Moss Eater ©   (2003-11-11 17:40) [12]

А как же тогда быть?

Открой свой прект в IDE, выдели мышкой HTTP, перейди в инспектор объектов на закладку Events, присмортись к именам событий.

PS: это не способ заставить работать компонент в синхронном режиме.



Страницы: 1 вся ветка

Текущий архив: 2004.01.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.029 c
11-37591
Сызганов Н.А.
2003-04-22 06:18
2004.01.13
Не вижу здесь своих вопросов


1-37795
UNick
2003-12-29 12:27
2004.01.13
Как сделать, чтобы исполнялось нажатие клавиши в OnChange


1-37668
Catherin
2003-12-26 15:02
2004.01.13
text iz memo pri perenisenii v pis mo stanovitsja v odnu strochku


6-37838
Magical
2003-11-12 15:11
2004.01.13
Какой модуль нужно подключить для NetUserAdd


1-37711
Lony
2004-01-01 17:36
2004.01.13
Работа с файлами