Ich mache Comet Chat mit Erlang. Ich verwende nur eine Verbindung (Long-Polling) für den Nachrichtentransport. Aber wie Sie wissen, kann die Verbindung für lange Abfragen nicht ständig verbunden bleiben. Jedes Mal, wenn eine neue Nachricht ankommt oder das Zeitlimit erreicht, wird sie unterbrochen und dann erneut mit dem Server verbunden. Wenn eine Nachricht gesendet wird, bevor die Verbindung wieder hergestellt wird, ist es ein Problem, die Integrität des Chats beizubehalten.Ein Nachrichtenwarteschlangenmodell in Erlang (Comet Chat)?
Und auch, wenn ein Benutzer mehr als ein Fenster mit Comet-Chat öffnet, müssen alle Chat-Nachrichten synchronisiert werden, was bedeutet, dass ein Benutzer viele Long-Polling-Verbindungen haben kann. Daher ist es schwierig, jede Nachricht pünktlich zu erhalten.
Sollte ich eine Nachrichtenwarteschlange für jede Verbindung erstellen? Oder was könnte man sonst noch besser lösen?
Viele Browser sind so konfiguriert, dass höchstens 2 Verbindungen pro Server aktiv sind. Dies ist ein guter Grund, einen einzigen langen Kommunikationskanal zu verwenden, den alle Abonnements durchlaufen. – Christian