Delphi socket error 11004

Delphi socket error 11004 две программы, одна-с ServerSocket,другая-ClientSocket. Клиент запускает сервер, и коннектится к нему. но почему-то возникает ошибка 11004. вчем дело,не пойму. Вот код. Сервер изначально установлены свойста Port :=1963; Active:=true; procedure TForm1.ServerSocket1ClientConnect(S ender: TObject; Socket: TCustomWinSocket); begin Memo1.Lines.Add(‘+’); end; Клиент procedure TForm1.FormCreate(Sender: TObject); begin t:=0; ClientSocket1.Port:=1963; ClientSocket1.host:=’263.6.0.0′; ClientSocket1.address:=’263.6.0.0.’ ; ClientSocket1.active:=false; end; procedure […]

Содержание

  1. Delphi socket error 11004
  2. Научный форум dxdy
  3. Ошибка 11004 delphi
  4. Кто сейчас на конференции
  5. Get extended error information when an error 11004 occurs using TIdSmtp.Connect() method?
  6. 1 Answer 1

Delphi socket error 11004

две программы, одна-с ServerSocket,другая-ClientSocket. Клиент запускает сервер, и коннектится к нему. но почему-то возникает ошибка 11004. вчем дело,не пойму. Вот код.

Сервер
изначально установлены свойста Port :=1963;
Active:=true;

procedure TForm1.ServerSocket1ClientConnect(S ender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(‘+’);
end;

Клиент

procedure TForm1.FormCreate(Sender: TObject);
begin
t:=0;
ClientSocket1.Port:=1963;
ClientSocket1.host:=’263.6.0.0′;
ClientSocket1.address:=’263.6.0.0.’ ;
ClientSocket1.active:=false;
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
memo1.Lines.Add(‘+’);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if (findwindow(nil,’Идет процесс’)=0 )
then begin
shellExecute(Handle,’open’,’D:serv er0server.exe’,nil,nil,SW_SHOWNORM AL) ;
timer1.Enabled:=true;
end else
if ((findwindow(nil,’Идет процесс’)<>0 )and (t=0 ) ) then // если окно найдено и первый раз
begin ClientSocket1.Active:=true ;
showmessage(‘00000’) ; end
else if((findwindow(nil,’Идет процесс’)<>0 )and (t=1 ) ) then //ранее нажата кнопка с найденным окном
begin ClientSocket1.Active:=false ;
showmessage(‘11111’) ; end;
t:=1;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (findwindow(nil,’Идет процесс’)<>0 )then begin
timer1.enabled:=false;
showmessage(‘timer’);
clientSocket1.Active:=true;
end;
end;

Источник

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки

Вход Регистрация Donate FAQ Правила Поиск

Ошибка 11004 delphi

Последний раз редактировалось Pilyla 16.04.2013, 20:56, всего редактировалось 2 раз(а).

Вот код.
Сервер
изначально установлены свойста Port :=1963;
Active:=true;

procedure TForm1.FormCreate(Sender: TObject);
begin
t:=0;
ClientSocket1.Port:=1963;
ClientSocket1.host:=’263.6.0.0′;
ClientSocket1.address:=’263.6.0.0.’;
ClientSocket1.active:=false;
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
memo1.Lines.Add(‘+’);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if (findwindow(nil,’Идет процесс’)=0 )
then begin
shellExecute(Handle,’open’,’D:server0server.exe’,nil,nil,SW_SHOWNORMAL) ;
timer1.Enabled:=true;
end else
if ((findwindow(nil,’Идет процесс’)<>0 )and (t=0 ) ) then // если окно найдено и первый раз
begin ClientSocket1.Active:=true ;
showmessage(‘00000’) ; end
else if((findwindow(nil,’Идет процесс’)<>0 )and (t=1 ) ) then //ранее нажата кнопка с найденным окном
begin ClientSocket1.Active:=false ;
showmessage(‘11111’) ; end;
t:=1;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (findwindow(nil,’Идет процесс’)<>0 )then begin
timer1.enabled:=false;
showmessage(‘timer’);
clientSocket1.Active:=true;
end;
end;

ClientSocket1.address:=’263.6.0.0′;
и ошибка 10049

Если использовать localhost,то работает

Yuri Gendelman
Заслуженный участник

Последний раз редактировалось Yuri Gendelman 16.04.2013, 22:42, всего редактировалось 1 раз.

Адрес Вашего сервера — 263.6.0.0:1963 — очень странный:
263 > 255, чего быть не должно.

Страница 1 из 1 [ Сообщений: 2 ]

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей

Источник

Get extended error information when an error 11004 occurs using TIdSmtp.Connect() method?

I have a Delphi 6 application that sends E-mails with attachments. When I first tested it I got an 11004 error (policy violation) when I called TIdSmtp.Connect(). It turned out my E-mail server SMTP setting were wrong and now it works fine. But know my users are going to run into trouble and I’d like to know if there is a way to get more extensive error information back from the SMTP server via the Indy components to help with my debugging efforts. I am using Indy 9 with Delphi 6.

Is there a way to get a much richer report and find out what the probable cause for the error is? (e.g. — SSL required, From field not filled in, rejected domain, etc). Also, same question but when an error occurs on the TIdSmtp.Send() method?

1 Answer 1

EIdSMTPReplyError is raised in response to an error message from the SMTP server at the SMTP protocol layer. 11004 is a socket/DNS error, not an SMTP error. There would be no additional error information available other than the basic OS error message (which you can get from SysErrorMessage() ):

The requested name is valid and was found in the database, but it does not have the correct associated data being resolved for.

Regarding TIdSMTP.Send() , you can look for EIdSMTPReplyError exceptions, eg:

That will help some, and if the server supports Extended Error Codes then you might get a little bit closer. But more times then not, you will not likely be able to distinquish EXACTLY what went wrong without looking at the actual SMTP command/response traffic over the wire.

Regarding SSL/TLS errors in particular, one of several different things may happen, depending on your TIdSMTP configuration:

1) you might get a general EIdSocketError exception raised, like with your 11004 error.

2) You might get an EIdSMTPReplyError exception with a malformed error code if you connect to a server port that requires Implicit SSL/TLS but you do not have TIdSMTP.UseTLS set to utUseImplicitTLS .

2) You might get an EIdOSSLConnectError or other OpenSSL-related exception if you have UseTLS=utUseImplicitTLS assigned but the server is not expecting Implicit SSL/TLS.

Источник

EIdSMTPReplyError is raised in response to an error message from the SMTP server at the SMTP protocol layer. 11004 is a socket/DNS error, not an SMTP error. There would be no additional error information available other than the basic OS error message (which you can get from SysErrorMessage()):

The requested name is valid and was found in the database, but it does not have the correct associated data being resolved for.

Regarding TIdSMTP.Send(), you can look for EIdSMTPReplyError exceptions, eg:

try
  IdSMTP1.Connect;
  try
    IdSMTP1.Send(IdMessage1);
  finally
    IdSMTP1.Disconnect;
  end;
except
  on E: EIdSMTPReplyError do
    Application.MessageBox(
      PChar(
        'Error message: ' + E.Message + sLineBreak +
        'Error code: ' + IntToStr(E.ErrorCode) + sLineBreak +
        'Error reply: ' + E.EnhancedCode.ReplyAsStr
      ),
      'SMTP Error...', MB_OK + MB_ICONSTOP + MB_TOPMOST);
end;

That will help some, and if the server supports Extended Error Codes then you might get a little bit closer. But more times then not, you will not likely be able to distinquish EXACTLY what went wrong without looking at the actual SMTP command/response traffic over the wire.

Regarding SSL/TLS errors in particular, one of several different things may happen, depending on your TIdSMTP configuration:

1) you might get a general EIdSocketError exception raised, like with your 11004 error.

2) You might get an EIdSMTPReplyError exception with a malformed error code if you connect to a server port that requires Implicit SSL/TLS but you do not have TIdSMTP.UseTLS set to utUseImplicitTLS.

2) You might get an EIdOSSLConnectError or other OpenSSL-related exception if you have UseTLS=utUseImplicitTLS assigned but the server is not expecting Implicit SSL/TLS.

3) You have UseTLS set to either utUseExplicitTLS or utRequiresTLS and the server supports Explicit TLS, but the SSL/TLS handshake fails for whatever reason, you will get a TIdSMTP.OnTLSHandShakeFailed event triggered only for utUseExplicitTLS. If the event handler does not set VContinue=True, or you used utRequiresTLS, you will get an EIdTLSClientTLSHandShakeFailed exception raised.

4) You have UseTLS set to either utUseExplicitTLS or utRequiresTLS and the server does not support Explicit TLS, you will get a TIdSMTP.OnTLSNotAvailable event triggered for utUseExplicitTLS only. If the event handler does not set VContinue=True, or you used utRequiresTLS, you will then get an EIdTLSClientTLSNotAvailable exception raised.

191 / 29 / 8

Регистрация: 15.09.2011

Сообщений: 426

1

05.10.2011, 13:45. Показов 7447. Ответов 2


Т.к программа добавлена в автозапуск, там стоит проверка коннекта к интернету, и по включению интернета, он должен войти в сеть. Но место этого появляется ошибка:

Socket error #11004

Что с ней делать?



0



Arcor

5683 / 2274 / 466

Регистрация: 20.11.2009

Сообщений: 7,655

Записей в блоге: 1

05.10.2011, 13:52

2

Лучший ответ Сообщение было отмечено hacker_007 как решение

Решение

поставь твою проверку в

Delphi
1
try except

это критическая ситуация, в try попадает ошибка, т.е. ловим ошибку, exept’ом выполняется другая часть ситуации

как if и else, принцип, но не эквивалент



0



hacker_007

191 / 29 / 8

Регистрация: 15.09.2011

Сообщений: 426

05.10.2011, 15:20

 [ТС]

3

Вот эта часть кода:

Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.FormCreate(Sender: TObject);
begin
AlphaBlend:=true;
AlphaBlendValue:=0;
idFTP1.Host:='000';
idFTP1.Port:=21;
idFTP1.Username:='000';
idFTP1.Password:='00';
idFTP1.Connect;
end; -вот этот end он выделяет синим

Добавлено через 9 минут
он походу к фтп приконнектиться не может пока инета нет вот и шлёт ошибки…

Добавлено через 40 минут

Цитата
Сообщение от hacker_007
Посмотреть сообщение

Вот эта часть кода:

Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.FormCreate(Sender: TObject);
begin
AlphaBlend:=true;
AlphaBlendValue:=0;
idFTP1.Host:='000';
idFTP1.Port:=21;
idFTP1.Username:='000';
idFTP1.Password:='00';
idFTP1.Connect;
end; -вот этот end он выделяет синим

Добавлено через 9 минут
он походу к фтп приконнектиться не может пока инета нет вот и шлёт ошибки…

Всё исправил…

Delphi
1
2
3
4
5
idFTP1.Host:='000';
idFTP1.Port:=21;
idFTP1.Username:='000';
idFTP1.Password:='00';
idFTP1.Connect;

Добавил в процедуру проверки коннекта



0



procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(‘+’);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
t:=0;
ClientSocket1.Port:=1963;
ClientSocket1.host:=’263.6.0.0′;
ClientSocket1.address:=’263.6.0.0.’;
ClientSocket1.active:=false;
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
memo1.Lines.Add(‘+’);
end;

procedure TForm1.Button1Click(Sender: TObject);   
begin
  if   (findwindow(nil,’Идет процесс’)=0 )
  then        begin
  shellExecute(Handle,’open’,’D:server0server.exe’,nil,nil,SW_SHOWNORMAL) ;
  timer1.Enabled:=true;
  end else
if  ((findwindow(nil,’Идет процесс’)<>0 )and  (t=0 ) )   then   // если окно найдено и  первый раз
begin    ClientSocket1.Active:=true  ;
    showmessage(‘00000’)      ;  end
else if((findwindow(nil,’Идет процесс’)<>0 )and  (t=1 ) ) then    //ранее нажата кнопка с найденным окном
begin ClientSocket1.Active:=false  ;
showmessage(‘11111’)  ; end;
  t:=1;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if (findwindow(nil,’Идет процесс’)<>0 )then  begin
    timer1.enabled:=false;
   showmessage(‘timer’);
    clientSocket1.Active:=true;
   end;
end;

В этой статье представлена ошибка с номером Ошибка 11004, известная как Не удалось показать результаты: ошибка сокета № 11004, описанная как MediaMonkey блокирует брандмауэр Windows или стороннего производителя.

О программе Runtime Ошибка 11004

Время выполнения Ошибка 11004 происходит, когда MediaMonkey дает сбой или падает во время запуска, отсюда и название. Это не обязательно означает, что код был каким-то образом поврежден, просто он не сработал во время выполнения. Такая ошибка появляется на экране в виде раздражающего уведомления, если ее не устранить. Вот симптомы, причины и способы устранения проблемы.

Определения (Бета)

Здесь мы приводим некоторые определения слов, содержащихся в вашей ошибке, в попытке помочь вам понять вашу проблему. Эта работа продолжается, поэтому иногда мы можем неправильно определить слово, так что не стесняйтесь пропустить этот раздел!

  • Блокировка — ввод-вывод в режиме блокировки блокирует выдающий поток до тех пор, пока операция не передаст хотя бы один байт, или пока не произойдет ошибка или конец потока.
  • Брандмауэр < / b> — ОБЩАЯ ПОДДЕРЖКА БЕЙДВОЛЛА НЕПОПУЛЯРНА.
  • Party — Вопросы, связанные с R-пакетами party и partykit для рекурсивного разбиения
  • Windows — ОБЩАЯ ПОДДЕРЖКА WINDOWS НЕ ВОСПРИНИМАЕТСЯ
  • Socket — конечная точка двунаправленного потока межпроцессного взаимодействия.

Симптомы Ошибка 11004 — Не удалось показать результаты: ошибка сокета № 11004

Ошибки времени выполнения происходят без предупреждения. Сообщение об ошибке может появиться на экране при любом запуске %программы%. Фактически, сообщение об ошибке или другое диалоговое окно может появляться снова и снова, если не принять меры на ранней стадии.

Возможны случаи удаления файлов или появления новых файлов. Хотя этот симптом в основном связан с заражением вирусом, его можно отнести к симптомам ошибки времени выполнения, поскольку заражение вирусом является одной из причин ошибки времени выполнения. Пользователь также может столкнуться с внезапным падением скорости интернет-соединения, но, опять же, это не всегда так.

Fix Не удалось показать результаты: ошибка сокета № 11004 (Error Ошибка 11004)
(Только для примера)

Причины Не удалось показать результаты: ошибка сокета № 11004 — Ошибка 11004

При разработке программного обеспечения программисты составляют код, предвидя возникновение ошибок. Однако идеальных проектов не бывает, поскольку ошибки можно ожидать даже при самом лучшем дизайне программы. Глюки могут произойти во время выполнения программы, если определенная ошибка не была обнаружена и устранена во время проектирования и тестирования.

Ошибки во время выполнения обычно вызваны несовместимостью программ, запущенных в одно и то же время. Они также могут возникать из-за проблем с памятью, плохого графического драйвера или заражения вирусом. Каким бы ни был случай, проблему необходимо решить немедленно, чтобы избежать дальнейших проблем. Ниже приведены способы устранения ошибки.

Методы исправления

Ошибки времени выполнения могут быть раздражающими и постоянными, но это не совсем безнадежно, существует возможность ремонта. Вот способы сделать это.

Если метод ремонта вам подошел, пожалуйста, нажмите кнопку upvote слева от ответа, это позволит другим пользователям узнать, какой метод ремонта на данный момент работает лучше всего.

Обратите внимание: ни ErrorVault.com, ни его авторы не несут ответственности за результаты действий, предпринятых при использовании любого из методов ремонта, перечисленных на этой странице — вы выполняете эти шаги на свой страх и риск.

Метод 1 — Закройте конфликтующие программы

Когда вы получаете ошибку во время выполнения, имейте в виду, что это происходит из-за программ, которые конфликтуют друг с другом. Первое, что вы можете сделать, чтобы решить проблему, — это остановить эти конфликтующие программы.

  • Откройте диспетчер задач, одновременно нажав Ctrl-Alt-Del. Это позволит вам увидеть список запущенных в данный момент программ.
  • Перейдите на вкладку «Процессы» и остановите программы одну за другой, выделив каждую программу и нажав кнопку «Завершить процесс».
  • Вам нужно будет следить за тем, будет ли сообщение об ошибке появляться каждый раз при остановке процесса.
  • Как только вы определите, какая программа вызывает ошибку, вы можете перейти к следующему этапу устранения неполадок, переустановив приложение.

Метод 2 — Обновите / переустановите конфликтующие программы

Использование панели управления

  • В Windows 7 нажмите кнопку «Пуск», затем нажмите «Панель управления», затем «Удалить программу».
  • В Windows 8 нажмите кнопку «Пуск», затем прокрутите вниз и нажмите «Дополнительные настройки», затем нажмите «Панель управления»> «Удалить программу».
  • Для Windows 10 просто введите «Панель управления» в поле поиска и щелкните результат, затем нажмите «Удалить программу».
  • В разделе «Программы и компоненты» щелкните проблемную программу и нажмите «Обновить» или «Удалить».
  • Если вы выбрали обновление, вам просто нужно будет следовать подсказке, чтобы завершить процесс, однако, если вы выбрали «Удалить», вы будете следовать подсказке, чтобы удалить, а затем повторно загрузить или использовать установочный диск приложения для переустановки. программа.

Использование других методов

  • В Windows 7 список всех установленных программ можно найти, нажав кнопку «Пуск» и наведя указатель мыши на список, отображаемый на вкладке. Вы можете увидеть в этом списке утилиту для удаления программы. Вы можете продолжить и удалить с помощью утилит, доступных на этой вкладке.
  • В Windows 10 вы можете нажать «Пуск», затем «Настройка», а затем — «Приложения».
  • Прокрутите вниз, чтобы увидеть список приложений и функций, установленных на вашем компьютере.
  • Щелкните программу, которая вызывает ошибку времени выполнения, затем вы можете удалить ее или щелкнуть Дополнительные параметры, чтобы сбросить приложение.

Метод 3 — Обновите программу защиты от вирусов или загрузите и установите последнюю версию Центра обновления Windows.

Заражение вирусом, вызывающее ошибку выполнения на вашем компьютере, необходимо немедленно предотвратить, поместить в карантин или удалить. Убедитесь, что вы обновили свою антивирусную программу и выполнили тщательное сканирование компьютера или запустите Центр обновления Windows, чтобы получить последние определения вирусов и исправить их.

Метод 4 — Переустановите библиотеки времени выполнения

Вы можете получить сообщение об ошибке из-за обновления, такого как пакет MS Visual C ++, который может быть установлен неправильно или полностью. Что вы можете сделать, так это удалить текущий пакет и установить новую копию.

  • Удалите пакет, выбрав «Программы и компоненты», найдите и выделите распространяемый пакет Microsoft Visual C ++.
  • Нажмите «Удалить» в верхней части списка и, когда это будет сделано, перезагрузите компьютер.
  • Загрузите последний распространяемый пакет от Microsoft и установите его.

Метод 5 — Запустить очистку диска

Вы также можете столкнуться с ошибкой выполнения из-за очень нехватки свободного места на вашем компьютере.

  • Вам следует подумать о резервном копировании файлов и освобождении места на жестком диске.
  • Вы также можете очистить кеш и перезагрузить компьютер.
  • Вы также можете запустить очистку диска, открыть окно проводника и щелкнуть правой кнопкой мыши по основному каталогу (обычно это C :)
  • Щелкните «Свойства», а затем — «Очистка диска».

Метод 6 — Переустановите графический драйвер

Если ошибка связана с плохим графическим драйвером, вы можете сделать следующее:

  • Откройте диспетчер устройств и найдите драйвер видеокарты.
  • Щелкните правой кнопкой мыши драйвер видеокарты, затем нажмите «Удалить», затем перезагрузите компьютер.

Метод 7 — Ошибка выполнения, связанная с IE

Если полученная ошибка связана с Internet Explorer, вы можете сделать следующее:

  1. Сбросьте настройки браузера.
    • В Windows 7 вы можете нажать «Пуск», перейти в «Панель управления» и нажать «Свойства обозревателя» слева. Затем вы можете перейти на вкладку «Дополнительно» и нажать кнопку «Сброс».
    • Для Windows 8 и 10 вы можете нажать «Поиск» и ввести «Свойства обозревателя», затем перейти на вкладку «Дополнительно» и нажать «Сброс».
  2. Отключить отладку скриптов и уведомления об ошибках.
    • В том же окне «Свойства обозревателя» можно перейти на вкладку «Дополнительно» и найти пункт «Отключить отладку сценария».
    • Установите флажок в переключателе.
    • Одновременно снимите флажок «Отображать уведомление о каждой ошибке сценария», затем нажмите «Применить» и «ОК», затем перезагрузите компьютер.

Если эти быстрые исправления не работают, вы всегда можете сделать резервную копию файлов и запустить восстановление на вашем компьютере. Однако вы можете сделать это позже, когда перечисленные здесь решения не сработают.

Другие языки:

How to fix Error 11004 (Couldn’t show results: Socket Error # 11004) — Windows or 3rd-party firewall blocking MediaMonkey.
Wie beheben Fehler 11004 (Ergebnisse konnten nicht angezeigt werden: Socket-Fehler # 11004) — Windows- oder Drittanbieter-Firewall, die MediaMonkey blockiert.
Come fissare Errore 11004 (Impossibile visualizzare i risultati: errore socket n. 11004) — Windows o firewall di terze parti che bloccano MediaMonkey.
Hoe maak je Fout 1104 (Kan geen resultaten weergeven: Socket Error # 11004) — Windows of een firewall van derden die MediaMonkey blokkeert.
Comment réparer Erreur 11004 (Impossible d’afficher les résultats : erreur de socket n° 11004) — Pare-feu Windows ou tiers bloquant MediaMonkey.
어떻게 고치는 지 오류 11004 (결과를 표시할 수 없음: 소켓 오류 # 11004) — MediaMonkey를 차단하는 Windows 또는 타사 방화벽.
Como corrigir o Erro 11004 (Não foi possível mostrar os resultados: Erro de soquete # 11004) — Windows ou firewall de terceiros bloqueando o MediaMonkey.
Hur man åtgärdar Fel 11004 (Kunde inte visa resultat: Socket Error # 11004) — Windows eller tredjeparts brandvägg som blockerar MediaMonkey.
Jak naprawić Błąd 11004 (Nie można wyświetlić wyników: Błąd gniazda nr 11004) — Zapora systemu Windows lub innej firmy blokująca MediaMonkey.
Cómo arreglar Error 11004 (No se pudieron mostrar los resultados: error de socket n. ° 11004) — Firewall de Windows o de terceros que bloquea MediaMonkey.

The Author Об авторе: Фил Харт является участником сообщества Microsoft с 2010 года. С текущим количеством баллов более 100 000 он внес более 3000 ответов на форумах Microsoft Support и создал почти 200 новых справочных статей в Technet Wiki.

Следуйте за нами: Facebook Youtube Twitter

Рекомендуемый инструмент для ремонта:

Этот инструмент восстановления может устранить такие распространенные проблемы компьютера, как синие экраны, сбои и замораживание, отсутствующие DLL-файлы, а также устранить повреждения от вредоносных программ/вирусов и многое другое путем замены поврежденных и отсутствующих системных файлов.

ШАГ 1:

Нажмите здесь, чтобы скачать и установите средство восстановления Windows.

ШАГ 2:

Нажмите на Start Scan и позвольте ему проанализировать ваше устройство.

ШАГ 3:

Нажмите на Repair All, чтобы устранить все обнаруженные проблемы.

СКАЧАТЬ СЕЙЧАС

Совместимость

Требования

1 Ghz CPU, 512 MB RAM, 40 GB HDD
Эта загрузка предлагает неограниченное бесплатное сканирование ПК с Windows. Полное восстановление системы начинается от $19,95.

ID статьи: ACX03447RU

Применяется к: Windows 10, Windows 8.1, Windows 7, Windows Vista, Windows XP, Windows 2000

Логотипы Microsoft и Windows® являются зарегистрированными торговыми марками Microsoft. Отказ от ответственности: ErrorVault.com не связан с Microsoft и не заявляет о такой связи. Эта страница может содержать определения из https://stackoverflow.com/tags по лицензии CC-BY-SA. Информация на этой странице представлена исключительно в информационных целях. © Copyright 2018


Форум программистов Vingrad

Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы
Создание опроса
> Ошибка IdHTTP… Как исправить? 

:(

   

Опции темы

Nikkie
  Дата 18.6.2005, 12:00 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 47
Регистрация: 13.4.2005

Репутация: нет
Всего: нет

Господа! Здравствуйте!
Есть такой код:

Код

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

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

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

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

Это сообщение отредактировал(а) Nikkie — 18.6.2005, 12:01

PM MAIL ICQ   Вверх
RA
Дата 18.6.2005, 15:20 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Брутальный буратина
****

Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 10
Всего: 115

Если происходит ошибка в методе Процедуре 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;

PM   Вверх
Nikkie
Дата 18.6.2005, 15:45 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 47
Регистрация: 13.4.2005

Репутация: нет
Всего: нет

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

PM MAIL ICQ   Вверх
RA
Дата 18.6.2005, 16:26 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Брутальный буратина
****

Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 10
Всего: 115

Это у нас версии разные. smile

PM   Вверх
Girder
Дата 18.6.2005, 17:34 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Лентяй 2
***

Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 4
Всего: 155

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

———————

Как слышим, так и пишим.
Истина где-то там…

PM   Вверх
Snowy
Дата 20.6.2005, 10:08 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484

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

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

PM MAIL   Вверх
Girder
Дата 20.6.2005, 10:33 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Лентяй 2
***

Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 4
Всего: 155

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

———————

Как слышим, так и пишим.
Истина где-то там…

PM   Вверх
Snowy
Дата 20.6.2005, 10:36 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484

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

PM MAIL   Вверх
RA
Дата 23.6.2005, 04:35 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Брутальный буратина
****

Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 10
Всего: 115

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

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

PM   Вверх



















Ответ в темуСоздание новой темы
Создание опроса
Правила форума «Delphi: Сети»
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) — крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Delphi socket error 11001
  • Delphi socket error 10093
  • Delphi socket error 10065
  • Delphi runtime error 231
  • Delphi runtime error 217 at

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии