Was ist eine sichere Zeit, die ich warten kann, bevor ich auf einen Browser antwortete, ohne eine Auszeit zu bekommen?

StackOverflow https://stackoverflow.com/questions/1338123

  •  20-09-2019
  •  | 
  •  

Frage

Ich erstelle eine Chat-Anwendung, die mit langer Zeit funktioniert, um einen "Push" vom Server zum Client zu emulieren.

Grundsätzlich fragt der Browser nach Updates, und ich antworte, ob es etwas Neues gibt. Andernfalls halte ich die Verbindung offen, ohne zu antworten, bis etwas zurückgeschickt werden kann.

Wenn nun 30 Sekunden vergangen sind und ich nichts gesendet habe, sende ich eine Antwort und sage im Grunde genommen "None WS", und der Kunde wird erneut abfragen.

Ich möchte diese Verbindung offensichtlich so lange wie möglich beantworten, bevor der Browser einfach Zeit ist und mich aufgibt ... Ich habe keine gute Dokumentation darüber gefunden, was das Kunden -Timeout für jeden Browser ist. Und es scheint nicht so für alle zu sein ...

Hat einer von Ihnen eine langwierige Bewerbung gestellt?
Irgendwelche Ideen, was am längsten sicher sein könnte?

Vielen Dank!

War es hilfreich?

Lösung

Der Browser sollte eine Auszeit auf einem XHR erkennen und eine weitere Anfrage stellen.

Aktualisieren:

Das Erkennen von Zeitüberschreitungen auf einem XHR ist tatsächlich kompliziert, da es aus irgendeinem Grund nicht eingebaut ist. Natürlich müssen Sie auch 502/503 Antworten usw. bearbeiten.

Andere Tipps

Das Lese -Timeout variiert zwischen den Browsern. Dies sind beispielsweise Standardwerte für IE.

Internet Explorer 4.0 and Internet Explorer 4.01 - 5 minutes
Internet Explorer 5.x and Internet Explorer 6.x - 60 minutes
Internet Explorer 7 and Internet Explorer 8 - 60 minutes

Wie Sie sehen können, wird größere Überstunden.

In langen Umfragen ist Timeout Ihr Freund. Sie sollten es ausnutzen, anstatt es zu vermeiden. Timeout bedeutet, dass Sie mit dem Browser am längsten mögen. Timeout ist ein Fehler, den Sie auch ohne lange Umfragen bewältigen müssen, sodass es keine zusätzliche Belastung gibt.

Vielleicht möchten Sie meine Antwort auf diese Frage lesen.

Wahl eines HTTP -Servers vom J2ME -Client

Obwohl es sich um einen mobilen Kunden handelt, gelten die meisten Regeln auch für Ajax Long Polling. Insbesondere denke ich, dass Sie von einem Benachrichtigungssystem profitieren, sodass lange Umfragen nur für die Ereignisbenachrichtigung verwendet werden und alle Inhalte immer noch normal gezogen werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top