Как избежать мертвых сообщений в чате кометы? - PullRequest
2 голосов
/ 14 июля 2009

Я работаю в кометном чате с Erlang и PHP. Но теперь я думаю, что столкнулся с проблемой: опросное соединение будет отключаться и автоматически повторно подключаться примерно через некоторое время (я установил это на 10 секунд), так что будет период времени, когда пользователь не подключится к серверу чата. Если пользователь отправит сообщение в это время, оно будет мертвым (никто не сможет его получить).

В коде клиента я использую jquery с jsonp для реализации соединения опроса. Есть ли хороший способ решить эту проблему?

Заранее спасибо ~

Ответы [ 3 ]

1 голос
/ 14 июля 2009

Вам разрешено два одновременных соединения; чередуйте их, чтобы один из них подключался (и отправлял сообщения пользователя на сервер), а другой слушал.

1 голос
/ 24 июля 2009

Инициируйте процесс сеанса на сервере, который хранит все сообщения, пока клиент не подключен.Если клиент не подключается в течение некоторого (настраиваемого) времени, сеанс может прекратиться.Когда клиент подключается, сеанс может отправлять все сообщения из очереди в подключение.

0 голосов
/ 14 июля 2009

Когда сообщение отправлено, просто немедленно переподключите jquery и отправьте сообщение, когда это произойдет.

...