AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy und Tomcat, richtiges Verhalten bei Fehlern?
Thema durchsuchen
Ansicht
Themen-Optionen

Indy und Tomcat, richtiges Verhalten bei Fehlern?

Ein Thema von alzaimar · begonnen am 3. Dez 2006 · letzter Beitrag vom 3. Dez 2006
 
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#1

Indy und Tomcat, richtiges Verhalten bei Fehlern?

  Alt 3. Dez 2006, 15:34
Hallo!

Wir haben hier einen Tomcat Server und einen Delphi-Client in einem lokalen Netz. Ich hab die Indy-Komponenten (TIdHTTP) um mit dem Tomcat zu reden. Die Verbindung ist session-orientiert, sie (die Verbindung) wird vom Tomcat nach 10 Sekunden idle geschlossen.

Leider erhalte ich die berühmt berüchtigten Fehlermeldungen "EIdConnClosedGracefully" und "Socket Error 10053". Sehr selten kommt 10054". Ich weiss im Prinzip, was sie bedeuten (Google sei Dank).

Wenn der EIdConnClosedGracefully-Fehler kommt (der laut Indy-Doku eine echte Exception ist), klappt gar nichts mehr. Nur wenn ich dem Tomcat alle 9 Sekunden etwas zu tun gebe, schließt er (bzw. das Java-Modul) die Verbindung nicht und dann haben wir auch kaum Probleme. Ab und an ein 10054 oder ein vereinzelter 10053...

Meine Frage lautet nun: Wie setze ich die vom Server einseitig abgebrochene Verbindung wieder korrekt auf, bzw. wie soll sich der IdHTTP-Client vor einem Get/Post verhalten? Soll ich aufs geradewohl Daten schicken und per Exceptionbehandlung auf die Fehler eingehen? Und wenn ja, wie?

Delphi-Quellcode:
Try
  // Hier erstmal prüfen, ob eine Verbindung besteht?...
  aData := fHttp.Get(sURL);
Except
  On EIdConnClosedGracefully Do
    .... <<---
  On EIdSocketError Do
    Case E.LastError Of
      10053 : .... <<---
      10054 : .... <<---
    end
End;
Ach ja, der TIdHTTPClient ist nicht sonderlich konfiguriert, also unter Host etc. ist nix eingetragen. Sollte ich im Host explizit die Server-IP eintragen und ein Connect starten?

Leute, was LAN/TCP/HTTP etc. angebelangt, bin ich eine hohle Nuss, also bitte bitte, helft mir.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
 


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 16:40 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-2025 by Thomas Breitkreuz