Главная страница
    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.47 MB
Время: 0.009 c
3-37527
Verba
2003-12-13 13:59
2004.01.13
Select в TAdsQuery


8-37799
Scote
2003-09-14 20:55
2004.01.13
Нестандартное расширение битмапа


3-37581
Vanoshka
2003-12-17 11:24
2004.01.13
Транзакции в InterBase


1-37698
Tumcoat
2003-12-26 03:53
2004.01.13
Выравнивание столбцов таблицы в Word-е


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
Английский Французский Немецкий Итальянский Португальский Русский Испанский