AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

EIdSocketError #10053 In Webbroker

Ein Thema von bcvs · begonnen am 5. Mai 2023 · letzter Beitrag vom 5. Mai 2023
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#1

AW: EIdSocketError #10053 In Webbroker

  Alt 5. Mai 2023, 16:22
Natürlich wäre es sinnvoll, wenn nicht unnötig viele Exceptions auftreten.
Pervers: in einigen Komponenten/Progammen kamen Leute auf die geniale Idee Exceptions zur Ablaufsteuerung zu benutzen.

* In Delphi selber kann man leider nur nach Exception-Klasse und dauerhaft das Verhalten anpassen.
Also z.B. dass Delphi bei "dieser" Exception nicht mehr anhält / sie nicht mehr zeigt.

* Es gibt auch Plugins/Extensions, die das besser machen.
Parnassus Parallel Debugger (siehe GetIt) ... dort kann man auch auf den Message-Text filtern.



Schön wäre es auch, wenn man noch sagen könnte "nur für diese Session ignorieren", bzw. "nur im aktuellen Projekt",
aber so ein Feature braucht noch 20 Jahre, bis jemand es schafft das einzubauen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 5. Mai 2023 um 16:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.869 Beiträge
 
Delphi 12 Athens
 
#2

AW: EIdSocketError #10053 In Webbroker

  Alt 5. Mai 2023, 17:44
Ich gehe mal davon aus, dass die Exception immer auftritt.
Vielleicht liegt es am Virenscanner?

Pervers: in einigen Komponenten/Progammen kamen Leute auf die geniale Idee Exceptions zur Ablaufsteuerung zu benutzen.
Das habe ich auch gemacht, aber nur mit eigenen Exceptions, die man einfach ignorieren kann.

Schön wäre es auch, wenn man noch sagen könnte "nur für diese Session ignorieren", bzw. "nur im aktuellen Projekt",
aber so ein Feature braucht noch 20 Jahre, bis jemand es schafft das einzubauen.
Du solltest einmal GExperts installieren.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.554 Beiträge
 
Delphi 7 Professional
 
#3

AW: EIdSocketError #10053 In Webbroker

  Alt 5. Mai 2023, 18:22
Die Fehlermeldung heißt eigentlich nur, dass die Gegenseite die Verbindung abgebrochen hat.

Innerhalb von Indy kannst Du das Problem nicht beheben, da müssten wir mal den Quelltext sehen, der für den Aufruf, die Verbindung, ... zuständig ist, sowas wie sContent := http.get('www.irgendwas.com'); Was ich (sinngemäß und hier nur hingedaddelt) grundsätzlich mache, um Folgefehler zu reduzieren:
Delphi-Quellcode:
iError := 0;
repeat
  try
    http.Get('ne url',EinStream);
    // Daten verarbeiten ...
    break;
  except
    on e : EIdSocketError do begin
      iError := iError + 1;
      http.Disconnect(True);
      http.IOHandler.InputBuffer.Clear;
      continue;
    end;
    // weitere Fehler abfangen
    // ...
    // und zum Schluss dann noch die "Reste"
    on e : Exception do begin
      iError := iError + 1;
       // sinnvolle Fehlerbehandlung, Fehler ggfls. protokollieren.
       // Fehlerabhängig ggfls. per break aus der Schleife raus,
       // z. B. bei ResponseCode 403 oder 404
       // oder ResponseCodes aus dem 300er-Bereich.
    end;
  end;
  // Aufräumen!!! - ohne dies kann bei einigen Fehler "irgendwas" übrigbleiben,
  // was eine weitere, sinnvolle Arbeit des Programmes unmöglich macht.
  // Die Interna kenn' ich nicht, so dass ich nicht weiß, warum es ohne die
  // zwei Zeilen zuweilen nicht ordentlich weiterläuft.
  http.Disconnect(True);
  http.IOHandler.InputBuffer.Clear;
until (iError > 5);
Im Fehlerfalle behalten ResponseNo und ResponseText (zuweilen, meist, immer?) den Inhalt vom letzten erfolgreichen Aufruf vor dem Fehler, haben hier also genau keine Aussagekraft. Im Zweifel vorher Werte zuweisen, an denen du erkennen kannst: Sind sie unverändert, dann ist das was schiefgelaufen.
  Mit Zitat antworten Zitat
mjustin

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

AW: EIdSocketError #10053 In Webbroker

  Alt 5. Mai 2023, 19:01
Innerhalb von Indy kannst Du das Problem nicht beheben, da müssten wir mal den Quelltext sehen, der für den Aufruf, die Verbindung, ... zuständig ist,
Der clientseitige Quelltext befindet sich bei Web-Anwendungen ja nicht immer in einer Delphi-Anwendung. Oft ist es einfach ein Web-Browser. Der hat seine eigenen Timeeout-Einstellungen, oder andere Gründe die Verbindung seinerseits einfach zu schliessen.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.554 Beiträge
 
Delphi 7 Professional
 
#5

AW: EIdSocketError #10053 In Webbroker

  Alt 5. Mai 2023, 19:11
Da es eine Fehlermeldung aus Indy gibt, muss Indy involviert sein.

Aber: Indy ist nicht die Ursache.

Bei einer Verbindung über Indy sind immer zwei beteiligt. Wenn also Indy meldet, dass die Verbindung abgebrochen wurde, so liegt die Ursache bei der "NichtIndySeite", also einem beliebigen Server, einem beliebigen Client.

Flapsig formuliert: Bei EIdSocketError ist man nicht selbst Schuld, sondern muss mit den Folgen des Verbindungsabbruches durch 'ne "externe Stelle" bestmöglich leben. Sprich: Man braucht 'ne passende Fehlerbehandlung im eigenen Quelltext und nicht "irgendwo bei den Indys".
  Mit Zitat antworten Zitat
mjustin

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

AW: EIdSocketError #10053 In Webbroker

  Alt 5. Mai 2023, 19:37
Da es eine Fehlermeldung aus Indy gibt, muss Indy involviert sein.
Ja, wenn ich es richtig gelesen habe ist Indy der Server:

TIdHTTPResponseInfo.WriteContent; Das ist Indy HTTP Server - Code, ganz eindeutig.

Und der Indy HTTP Server bemerkt, dass ein Client die Verbindung getrennt hat.
Daher wird Indy-seitig eine Exception ausgelöst.
Michael Justin
habarisoft.com
  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 02:32 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