私はErlangと彗星のチャットをしています。私は、メッセージの転送に1つの接続(長いポーリング)を使用します。しかし、あなたが知っているように、長いポーリング接続は常時接続し続けることはできません。新しいメッセージが到着するかタイムアウトに達するたびに、メッセージが途切れて再びサーバーに接続されます。接続が再接続される前にメッセージが送信された場合、チャットの整合性を保つことは問題です。Erlang(Cometチャット)のメッセージキューモデルですか?
また、ユーザーがComet-chatで複数のウィンドウを開くと、すべてのチャットメッセージが同期している必要があります。つまり、長いポーリング接続を多数持つことができます。したがって、すべてのメッセージを時間通りに配信することは困難です。
接続ごとにメッセージキューを作成する必要がありますか?またはこれを解決する他の良い方法は?
多くのブラウザは、サーバーごとに最大2つの接続をアクティブにするように構成されています。これは、すべてのサブスクリプションが通過する1つの長いポーリング通信チャネルを持つのがよい理由です。 – Christian