Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.01.13;
Скачать: [xml.tar.bz2];

Вниз

Несколько 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
14-37923
MadDiger
2003-12-20 13:21
2004.01.13
Delphi8


1-37659
asquick
2003-12-29 23:38
2004.01.13
Проблема со строками


3-37499
Vint
2003-12-17 11:47
2004.01.13
ALTER TABLE


14-37924
panov
2003-12-17 21:18
2004.01.13
Резалки баннеров


1-37721
alexEagle
2003-12-30 14:49
2004.01.13
использование XML вместо INI





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский