Der Timeout WIRD kommen!
Ziel beim Longpolling ist es, eine Verbindung
so lange wie möglich aufrecht zu erhalten, das geht aber nicht endlos. Das sendende Script darf die Verbindung also nicht versuchen, endlos zu halten, sondern MUSS irgendwann eine Response liefern (sonst trennt der Webserver das Socket irgendwann von sich aus). Wenn die aktuelle Verbindung dann terminiert wird, entweder durch korrektes Senden von Daten oder weil das Serverscript an einen (eigenen) timeout kommt, re-requestet der Client sofort weitere/neue Daten. Dabei wird eine neue Connection aufgebaut, die wiederum für eine gewisse Zeit gehalten werden kann.
Das
Premature end of script header kommt immer dann, wenn der Webserver derjenige welche ist, der die Verbindung kappt. Das darf also nicht passieren.
Zitat:
|
Ich denke im Notfall mach ich das Re-Connect eben nach 1,5 Minuten. Das wäre ein Mittelweg
|
Initiier das aber von der Serverseite aus. Schick nach der Zeit einen leeren Response an den Client, damit dieser einen neuen Request starten kann.
golden rule: Die Request/Resonse Loop
muss abgeschlossen werden.