Чат на SignalR / Websocket — как видеть в режиме реального времени, что печатает пользователь?
Как вк при написании сообщения другим пользователем отображается надпись "Пользователь набирает сообщение", только ещё видеть текст самого сообщения.
Пока только в голову пришло ужасное решение: после каждого напечатанного символа делать через AJAX запрос к БД и сохранять текущее состояние сообщения, что крайне непроизводительно.
Логичнее не после каждого символа, а с задержкой. По опыту реализации этой функции скажу что лучше если отправлять сообщение спустя примерно 300 мс после последнего вызова события keyup
Не знаю как оно именно в SignalR но мне кажется можно не сохранять в бд а сразу отправлять пользователям чата. Так как не страшно если потеряется одно из этих сообщений так как скоро придёт следующее.