Я делаю чат Comet с Erlang. Я использую только одно соединение (длительный опрос) для транспортировки сообщений. Но, как вы знаете, долговременное соединение не может оставаться на связи все время. Каждый раз, когда приходит новое сообщение или достигает таймаута, он прерывается, а затем снова подключается к серверу. Если сообщение было отправлено до повторного подключения, это проблема сохранения целостности чата.Модель очереди сообщений в Erlang (чат Comet)?
А также, если пользователь открывает несколько окон с помощью Comet-chat, все сообщения чата должны синхронизировать, а это значит, что у пользователя может быть много длинных голосовых подключений. Поэтому трудно своевременно передавать все сообщения.
Должен ли я создавать очередь сообщений для каждого соединения? Или какой еще лучший способ решить эту проблему?
Многие браузеры настроены на подключение не более 2 подключений на сервер. Это хорошая причина для того, чтобы иметь один канал связи с длинными опросами, через который проходят все подписки. – Christian