Einzelnen Beitrag anzeigen

Benutzerbild von meolus
meolus

Registriert seit: 28. Aug 2005
Ort: Aachen
20 Beiträge
 
Delphi 2006 Professional
 
#1

[INDY] TIdPOP3: Wie den Verbindungsstatus sicher erkennen?

  Alt 28. Aug 2005, 10:05
Hallo Leute ich schreibe schon längere Zeit an einem POP3-Mail-Client. Seitdem ich die INDY 10 Komponenten verwende häuft sich reproduzierbar der Fehler "Socket Error # 10054 Connection reset by peer". Häufig aber auch ohne wirklich ersichtlichen Grund (wobei ich denke, dass dann kurz doch die Inet-Leitung weg ist ohne das KeepAlive funktioniert hat und ich einen realen "Connection reset by peer" habe, in der Regel sind die bei mir aber Hausgemacht und kein wirklicher connection reset by peer) :-/
Wie kann ich diese Verbindungsabbrücher Verhindern?

Ich benutze zwar IdPOP3.KeepAlive; in einem Timer welcher alle paar Sekunden ausgelöst wird, aber dies scheint nicht so recht zu helfen. Überdies scheint die Abfrage des boolischen Properties "IdPOP3.Connected" nicht immer ganz korrekt zu sein. So erhalte ich teils auch auch den obigen Fehler, obwohl Indy meint es sei verbunden und ich absichtlich die Leitung hardwaremäßig gekappt habe!
Wie kann ich sicher feststellen, ob ich (noch) verbunden bin oder nicht?
Zudem bekommt das Indy dann auch nicht mit, dass nach einstecken des Kabels doch wieder eine Verbindungbesteht und er sich ggf. nur neu verbinden müsste oder so.

EDIT:
"IdPOP3.CheckForGracefulDisconnect(true);" was ich nach der Beschreibung evtl. noch erwartet hätte, dass es helfen könnte, erkennt auch den Verbindungsabbruch nicht! Gibt keine Exception aus und ändert auch nicht den Onlinestatus der POP3-Komponente :-/
Real programmers don't comment their code;
if it was hard to write, it should be hard to read.
  Mit Zitat antworten Zitat