thepande999 wrote:Du sagst es kann ein Timeout Problem sein, was meinst du genau damit?
Deine Internetverbindung "stockt" nach dem Connect und bevor endlich die Daten geschickt (der Server wartet und wartet), geht zu viel Zeit verloren. Also macht der RemoteHost (= Server) die Leitung zu, keinen Bock mehr zu warten. Und dann werden die Daten endlich geschickt - aber niemand hört mehr hin. So ungefähr stelle ich mir das vor.
Es sieht ja wirklich so aus, dass der Client (Deine Software) zunächst einmal den Request an den Server schickt, aber in dem ersten Request stehen nur die Kopfdaten (POST irgendetwas, Host irgendetwas, Content-Size xyz usw.). U.a. steht da eben auch drin "KeepAlive". D.h. der Client bittet den RemoteHost darum, an der Leitung zu warten. Der RemoteHost schickt die Bestätigung, dass er einverstanden ist. Danach ist der Client wieder dran und schickt die Daten. Aber genau davor ist irgendetwas passiert, und am wahrscheinlichsten ist, dass dem RemoteHost die Lust vergangen ist. Es kann aber auch sein, dass der Server stark belastet ist und einfach nicht mehr warten will. Jedenfalls macht er die Leitung zu und deswegen kann Dein Client nichts mehr schicken.
Was Du probieren kannst (ich kenne ja auch Deinen Client nicht), dass Du NICHT im Kopf Connection: Keep-Alive angibst, ich weiß jetzt nicht, ob man das einfach weglassen kann, oder ob man einen anderen Wert angeben muss. Um dafür zu sorgen, dass sowohl der RemoteHost direkt auflegt, aber auch Dein Client auflegt und beim nächsten Connect (wenn die eigentlichen Daten geschickt werden) neu verbunden wird. Das hängt aber natürlich vom Client ab, ich weiß ja nicht was das für eine Software ist, ob das ein Browser ist oder ein Script oder was weiß ich, dass der auch wirklich einen neuen Connect macht, weil er eben weiß, dass er vorher gesagt hat, die Leitung soll geschlossen werden. Vielleicht geht es dann besser.
Insgesamt denke ich aber, ist es ein Timeout Problem und selbst wenn Du jetzt diese Logik etwas änderst, es kann auch immer noch passieren, dass der 2. Connect in die Binsen geht, einfach weil die Leitung nicht steht, das kommt ja vor, dass das Internet überlastet ist. Irgendwann ist es den Teilnehmern (auch dem Client) zu lahm und er gibt auf.
Das hat man ja beim alltäglichen Browsen genauso, hin und wieder kommt es vor, dass eine Seite "nicht erreichbar" ist. Da passiert genau dasselbe, Dein Browser wartet zu lange auf die Antwort des Servers und hat keine Lust mehr. Schickst Du es ein paar Sekunden später nochmal ab, klappt es vielleicht, der Engpass ist weg. Hier ist nur die Reihenfolge anders, die beiden haben sich schon verständigt und der Server wartet ... und wartet ... und wartet ... und legt auf. Und dann legt Dein Client los, und bemerkt, dass der RemoteHost leider aufgelegt hat. Genau das ist die Fehlermeldung.
P.S.: Du hast ja in der Fehlermeldung einen Timestamp (26-Feb-2019 20:00:16) und Du hast einen Timestamp, wenn der RemoteHost zuletzt geantwortet hat (HTTP/1.1 200 OK Date: Mon, 11 Feb 2019 19:07:27 GMT), wobei hier die Meldungen nicht zusammen gehören. Aber theoretisch kannst Du daraus erkennen, wieviel Zeit zwischen Request, Antwort und dem Fehlversuch vergangen ist, WENN die Uhren alle stimmen (auch nicht selbstverständlich). Vielleicht kannst Du ja daran erkennen, wie lange der Server warten musste.