AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung TidHTTP-Komponente bringt Socket Error 57: Socket is not connected
Thema durchsuchen
Ansicht
Themen-Optionen

TidHTTP-Komponente bringt Socket Error 57: Socket is not connected

Ein Thema von RWarnecke · begonnen am 26. Aug 2013 · letzter Beitrag vom 4. Okt 2013
Antwort Antwort
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

TidHTTP-Komponente bringt Socket Error 57: Socket is not connected

  Alt 26. Aug 2013, 05:35
Hallo zusammen,

in meiner iOS App rufe ich verschiedene RSS-Feeds über die Komponente TidHTTP ab. Das funktioniert auch soweit sehr gut. Wenn ich jetzt die App schlafen lege, also über den Home Knopf beende und die App dann nach ein paar Minuten zum Beispiel wieder neu starte und den Refresh Button für die RSS Feeds anklicke, bekomme ich den Fehler Socket Error 57: Socket is not connected. Dieser Fehler kommt sporadisch.

Wie kann ich diesen Fehler beseitigen ? Hier noch der Aufruf :
Delphi-Quellcode:
  try
    Xml := IdHTTP.Get(Url);
  except
    on E: Exception do
    begin
      ShowMessage ('Error: ' + E.Message);
      Exit;
    end;
  end;
In URL steht die Adresse, die Aufgerufen werden soll. Ich habe die Komponente TidHTTP nur auf das Formular gelegt und mehr nicht.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.261 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: TidHTTP-Komponente bringt Socket Error 57: Socket is not connected

  Alt 26. Aug 2013, 11:59
so komische Probleme habe ich bei den Indydingern auch immer!

Meine Lösung, ich versuche die Verbindung zu trennen vor einer neuen Abfrage:


if IdHTTP1.Connected then IdHTTP1.Disconnect;

IdHTTP1.Get('http://........',TempStream);
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.261 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: TidHTTP-Komponente bringt Socket Error 57: Socket is not connected

  Alt 26. Aug 2013, 12:03
Zur diesen Thema, habe ich gerade das gesehen:


http://www.delphifeeds.com/go/f/1072...hiFeeds.com%29

Der fängt das Problem aber auch nicht ab, sondern zeigt nur die message.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

AW: TidHTTP-Komponente bringt Socket Error 57: Socket is not connected

  Alt 26. Aug 2013, 12:10
Zur diesen Thema, habe ich gerade das gesehen:

http://www.delphifeeds.com/go/f/1072...hiFeeds.com%29

Der fängt das Problem aber auch nicht ab, sondern zeigt nur die message.
Den Teil mit idHTTP habe ich ja von dort übernommen. Nur leider kommt hier genau in dem Exception-Block die Fehlermeldung.

so komische Probleme habe ich bei den Indydingern auch immer!

Meine Lösung, ich versuche die Verbindung zu trennen vor einer neuen Abfrage:

if IdHTTP1.Connected then IdHTTP1.Disconnect;

IdHTTP1.Get('http://........',TempStream);
Das würde ja heißen, dass das Get einen automatischen Connect herstellt und danach nicht immer sauber schließt oder ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.008 Beiträge
 
Delphi 2009 Professional
 
#5

AW: TidHTTP-Komponente bringt Socket Error 57: Socket is not connected

  Alt 26. Aug 2013, 13:57
Das würde ja heißen, dass das Get einen automatischen Connect herstellt und danach nicht immer sauber schließt oder ?
Das wäre ganz normal bei einer HTTP 1.1 Verbindung. Daher vermute ich auch dass die Verbindung ihr Sockethandle nicht mehr benutzen kann, nachdem die Anwendung inaktiv war.

Kann man das eventuell verwenden um HTTP 1.0 zu erzwingen?

FIdHTTPClient.ProtocolVersion := pv1_0; ?
Michael Justin
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.261 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: TidHTTP-Komponente bringt Socket Error 57: Socket is not connected

  Alt 26. Aug 2013, 14:06
Also ich habe mal ein kleines Prg gemacht, das die aktuelle IP überwacht und bei Veränderungen der Ip automatisch bei no-ip.com die neue IP setzt da die tollen Vodafonerouter nur dyndns supporten. Da das für LTE gemacht worden ist, kam es vor das mal die Internetverbindung weg war und dann hat es bei meinem Programm auch gerappelt und die Indykomponente hat die Arbeit verweigert, auch wenn wieder ein Netz da ist!

Mit den Trennen der Verbindung habe ich eine stabiles Laufzeitverhalten, was vorher nicht der Fall war!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz