Получение данных и подписка.

Redjik

Джедай-мастер
Боже мой, ум за разум зашел у меня... изобретаю event sourcing =))
 

snowdrop

Новичок
А как в чатах на вебсокетах правильнее обрабатывать короткие потери соединения между пинг понгами, если нужна гарантия доставки?
Т.е. клиент не понял, что был дисконнект, но в это время ему прилетело сообщение.

Навскидку приходит такая схема:
- с клиента отправлять подтверждения о получении сообщений
- с сервера при отправке сообщений слать все неподтвержденные
- с сервера дополнительно по таймеру слать неподтвержденные
- на клиенте хранить id сообщений, при получении с сервера показывать только новые
 

флоппик

promotor fidei
Команда форума
Партнер клуба
- на клиенте хранить id сообщений, при получении с сервера показывать только новые
Достаточно в следующем сообщении присылать id предыдущего в беседе. Если этот id остутствует на клиенте, значит его надо явно перезапросить. Ну и с клиента переодически чекать просто last id, на случай не полученных последних сообщений.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
А как в чатах на вебсокетах правильнее обрабатывать короткие потери соединения между пинг понгами, если нужна гарантия доставки?
Т.е. клиент не понял, что был дисконнект, но в это время ему прилетело сообщение.

Навскидку приходит такая схема:
- с клиента отправлять подтверждения о получении сообщений
- с сервера при отправке сообщений слать все неподтвержденные
- с сервера дополнительно по таймеру слать неподтвержденные
- на клиенте хранить id сообщений, при получении с сервера показывать только новые
чувак, поздравляю, ты почти изобрел saga
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума

AnrDaemon

Продвинутый новичок
Ну раз человек задаёт очевидные вопросы, явно он ждёт очевидных ответов… а вообще, мне казалось, что эта проблема давно исследована и успешно решена.
 
Сверху