У меня есть рабочий пример Websockets, где клиенты получают сообщения с сервера.Как отправить старые сообщения с помощью Websockets
Я не уверен, как отправлять старые сообщения клиентам при их подключении.
Пример:
- Каждый клиент подает свое имя при подключении
- Сервер отвечает «[имя] просто подключен» (для всех клиентов)
- Любые новые клиенты не получают бы эти сообщения
Мне интересно, могут ли клиенты получать старые сообщения (либо все из них, либо сообщения за последние 5 минут будут приемлемыми).
Я подозреваю, что мне, возможно, придется самому захватить эту информацию, хранить ее где-нибудь (например, базу данных) и отправлять сообщения новым клиентам. Это правильно, или я что-то упускаю?
Если у кого-то есть псевдокод или ссылка на пример того, как другие это реализовали, это было бы удобно.
Разве это не так просто, как сервер отправляет список подключенных в данный момент клиентов к любому новому клиенту? – JeffRSon
@JeffRSon Я хочу иметь возможность отправлять любые произвольные данные. –
Я не уверен, имеет ли смысл отправлять устаревшие сообщения. Предположим, что клиент подключился и отключился. Вы отправите оба сообщения любому новому клиенту? Или вы знаете, что отключенное сообщение должно «удалить» предыдущее подключенное сообщение? Если это не для ведения журнала, вы должны отправлять только текущее состояние. И для ведения журнала вам нужно сохранить всю кучу сообщений, чтобы отправить их, но только один раз. – JeffRSon