2008-10-29 3 views

Antwort

5

Der Server bereitet weiterhin die Antwort vor. Wenn es versucht, die Antwort an den Client zu senden, schlägt es fehl. Wann dies tatsächlich passiert, hängt wahrscheinlich von der tatsächlichen Implementierung des Anwendungsservers ab, ob die Antwort gepuffert ist.

In Java EE App-Servern (Tomcat und WebLogic, wahrscheinlich auch andere) erhalten Sie die folgende Ausnahme:

0

Ich würde denken, dass die tatsächliche TCP-Verbindung vom Browser geschlossen wird und daher der Web-Server nicht in der Lage sein wird, Daten zu senden, und wenn es speziell programmiert ist, unterbrochen Verbindungen während der Vorbereitung der Daten zu erkennen vollständig verarbeitet, auch wenn der Benutzer abbricht.

Ich habe wenig Wissen über diese Dinge, aber das wäre meine Vermutung.

1

PHP versteht drei Zustände der Verbindung: NORMAL, ABORTED und TIMEOUT. Sie können die PHP-Richtlinie für ABORTED-Verbindungen (standardmäßig wird das Skript beendet) mit der ignore_user_abort()-Funktion ändern. Von der Hinweise:

"PHP wird nicht erkennen, dass der Benutzer die Verbindung abgebrochen hat, bis ein Versuch unternommen wird, Informationen an den Client zu senden."

Beachten Sie, dass, wenn die Ausgabe Ihres Servers gepuffert ist, ein Senden möglicherweise nicht sofort erfolgt.

Weitere Informationen finden Sie unter PHP's page on connection handling.

+0

ist Apache oder ein anderer Webbrowser, der das FIN/ACK an PHP sendet? –

1

Wenn die Verbindung unterbrochen wurde, bevor die Anforderung vollständig an den Server gesendet wurde, wird die Antwortverarbeitung nicht ausgeführt.

Wenn die Anforderung vollständig gesendet wurde, löst dies die serverseitige Verarbeitung aus, und die Antwortgenerierung wird trotz der unterbrochenen Verbindung fortgesetzt. In ASP.NET können Sie dies erkennen, indem Sie Response.IsClientConnected verwenden, um die Verarbeitung anzuhalten, wenn der Client nicht mehr verbunden ist, wodurch CPU-Zeit gespart wird und der Thread sofort in den Thread-Pool zurückgegeben wird.

Verwandte Themen