Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Ошибка IdHTTP...


Автор: Nikkie 18.6.2005, 12:00
Господа! Здравствуйте!
Есть такой код:

Код

idhttp1.Connect('http://www.../index.html',-1);
str:=idhttp1.Get('http://www.../index.html');
idhttp1.Disconnect;


Выполняется нормально, но при повторном обращении не перезапуская программу он выдает ошибку:
Socket Error #11004

Компонент IdHTTP находится на форме...

Как избавиться от этой ошибки?

Автор: RA 18.6.2005, 15:20
Если происходит ошибка в методе Процедуре Get то дисконнекта не происходит. попробуй так, вроде работает.

Код

var str:string;

begin
  idhttp1.Host:=('s3x.narod.ru');
  idhttp1.Connect;
   try
str:=idhttp1.Get('http://s3x.narod.ru/index.html');
except end;

idhttp1.Disconnect;
IdHTTP1.DisconnectSocket;

Автор: Nikkie 18.6.2005, 15:45
IdHTTP1.DisconnectSocket;

нет такой команды у меня....
Добавлено @ 15:51
Решил вопрос smile

Код

var
str :string;
indht:Tidhttp;
...
indht:=Tidhttp.Create(application);
indht.Connect('http://www..../index.html',-1);
str:=indht.Get('http://www..../index.html');
indht.Disconnect;
indht.Free;



smile само собой получилось smile

Автор: RA 18.6.2005, 16:26
Это у нас версии разные. smile

Автор: Girder 18.6.2005, 17:34
Код
//idhttp1.Connect('http://www.../index.html',-1);
str:=idhttp1.Get('http://www.../index.html');
//idhttp1.Disconnect;

Автор: Snowy 20.6.2005, 10:08
Цитата(Nikkie @ 18.6.2005, 15:45)
Решил вопрос

Я уже несколько раз писал, что Indy не любит повторных соединений.
Нужно создавать и дестроить - так надежней.

Автор: Girder 20.6.2005, 10:33
Snowy а наX вообще производить еще и Connect?... да еще и не к домену... smile (удивительно... что у него еще и работает... при таком Connect('http://www.../index.html',-1) )

Автор: Snowy 20.6.2005, 10:36
Логично. Для других протоколов смысл бы был.
Я что-то не обратил внимания, что речь про http.
Тогда полностью согласен.
Никаких коннектов не надо. Просто Get.

Автор: RA 23.6.2005, 04:35
Цитата(Snowy @ 20.6.2005, 10:08)
Я уже несколько раз писал, что Indy не любит повторных соединений.
Нужно создавать и дестроить - так надежней.

НЕ только инди, ics тоже. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)