![]() |
Indy 9: Nach einem IdHTTP.Post die Verbindung beenden
Ich übergebe einem PHP-Script eine größere XML-Datenmenge per HTTP-Post. PHP ist mit der Verarbeitung eine Weile beschäftigt. Für die Validität sorge ich schon bei der Erzeugung der XML im Delphi-Programm. Darum muss ich mit dem Indy-Client nicht unbedingt auf das Ende des PHP-Scripts warten. PHP kann man ja temporär so einstellen daß es weiterläuft wenn der Client die Verbindung cancelt. Nur ist es auch möglich, den Indy-IdHTTP-Client zu canceln wenn er sein Post abgeschlossen hat? Also ohne Exception meine ich.
Ich hatte es schon umgekehrt versucht. Also mit PHP header() einen 3xx-Fehlercode senden nachdem der Post-Upload angekommen ist. Geht auch ganz gut nur wirft da Indy jedesmal eine Exception und die ganze Routine bricht ab. |
Re: Indy 9: Nach einem IdHTTP.Post die Verbindung beenden
Hi Codehunter.
Sende doch einen 200er Code, das heißt nämlich OK. 300er Codes sind für Weiterleitungen u.ä. ;-)
Code:
EDIT: Abgesehen davon kann man Exceptions doch abfangen, oder? :gruebel:
<?php
header("HTTP/1.1 200 OK") echo " "; // Damit der Header auch gesendet wird. ?> |
Re: Indy 9: Nach einem IdHTTP.Post die Verbindung beenden
Komischerweise werden die 200er von Indy komplett ignoriert und es wird weiter gewartet.
|
Re: Indy 9: Nach einem IdHTTP.Post die Verbindung beenden
Zitat:
Aber die Exception müsste sich - wie gesagt - abfangen lassen. |
Re: Indy 9: Nach einem IdHTTP.Post die Verbindung beenden
ähm...
man kann doch sicher dem webserver sagen, "bitte die verbindung beenden, ich habe dem UA nichts mehr zu sagen"? ansonsten gibt es sicher einen event (onsend, onupload, onpost?), der dir sagt, dass jetzt gepostet worden ist. dann haust du einfach ein Sender.Abort rein. |
Re: Indy 9: Nach einem IdHTTP.Post die Verbindung beenden
Hast Du versuchsweise mal auf HTTP 1.0 umgeschaltet? Das von Dir beschriebene Szenario könnte auch mit dem von HTTP 1.1 eingeführten Connection-Handling zusammenhängen.
hasige Grüße, Elli |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:42 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