HttpServletResponse disconnect erkennen?

chickenwings

Erfahrenes Mitglied
Hallo,

frage mich gerade, ob ein Servlet, das als Server fungiert, irgendeine Möglichkeit hat zu erkennen, ob der anfragende Client, die Verbindung geschlossen hat? Dachte da zunächst an den response, wenn der versucht zu zu antworten. Aber offensichtlich landet eine etwaige Antwort im Nirvana. Nach meinen Empfinden dürfte das gemäss des Client/Server Prinzips aber auch keien Sinn machen, da der Server nur der Dienstliefernde ist und ihm schliesslich egal ist, ob der Client noch die Antwort haben will oder nicht.

Eure Meinungen dazu würden mich interessieren.

Grüsse,
chickenwings
 
Hi,

denke mal dass eine Exception geworfen wird, wenn du versuchst die Antwort loszuschicken.

Nützlich stelle ich mir das in einer Anwendung vor, bei der im Hintergrund langwierige Berechnungen statt finden und die Ergebnisse Stückweise zurückgeliefert werden. Falls dann mitten drin festgestellt wird, dass der Client weg ist, wird auch die Berechnung abgebrochen.

Auf Netzwerkebene würde sich das soweit ich weiß auch eher erkennen lassen, nämlich sobald der Client ein FIN schickt und die TCP-Verbindung somit schließen möchte, bzw. wenn der Socket write() / read() fehlschlägt.

Grüße,
BK
 
Hallo,

hmm, ja, eine Exception hatte ich auch vermutet. Bei Socketverbindungen kann ich mir das auch gut vorstellen, bei HTTP Verbindungen sind meine bisherigen Versuche leider immer gescheitert, was heissen soll, dass der Server so keine Chance hatte, zumindest mit den Möglichkeiten, die mir HttpServletResponse liefert, den Verbindungsstatus abzufragen.


Grüsse,
chickenwings
 

Neue Beiträge

Zurück