SignalR Chat: Сервер и его клиенты
Вставка
- Опубліковано 9 лис 2024
- В этом видео я покажу вариант реализации чата (real-time) на SignalR с возможностью подключения клиентов с разных платформ. Исходные файлы чата вы можете найти на github.com.
Ссылки:
dotnet.microso...
docs.microsoft...
www.calabonga....
github.com/Cal...
github.com/Cal...
Благодарности и помощь каналу принимаются:
www.calabonga....
круто, спасибо за видео
Спасибо за комментарий
Ничего себе, так изменился. Лайк
Кто изменился? Что изменилось?
@@SergeiCalabonga ну качество подачи изменилось в лучшую сторону!
@@SergeiCalabonga вообще спасибо за такие видео, благодаря им я выучил Blazor
Ну, что ж... Растем над собой!!!
@@Happy-vl7ol Ну, выучил - это наверное сильно сказано! Наверное правильнее сказать "познакомился"
Отличное видео
И это только начало!
Приветствую Сергей! Как всегда очень интересно и познавательно👍 Один только вопрос: зачем вы нагородили users List и добавляете удаляете туда сюда - какая-то лишняя надстройка. Ведь группы для того и нужны чтобы все новые подключения пользователя добавлять в группу, а при выходе удалять из группы? И рассылать группе (все устройства пользователя). Или я что-то не так понял?
Я сейчас не могу ответить на этот вопрос, потому что не помню. Как посмотрю видео заново, тогда будет возможность ответить. Спасибо.
Большое спасибо за видео. А как организовать пересылку сообщения от одного конкретного пользователя к другому конкретному пользователю?
У каждого прдключения есть ConnectionId. Смотреть надо в эту сторону. 🙂
Большое спасибо, видео пригодилось. Почерпнул для себя что-то полезное! Однако, не могу не отметить, что подача очень непростая. Приходилось пересматривать фрагменты и осмыслять/переосмыслять. Не знаю, какая предполагалась целевая аудитория для этого видео, но мне, как обладателю очень скромных знаний SignalR и не претендующему на звание самого умного, было очень сложно успевать за мыслью. "Это объясню потом", "Это опустим...", "Здесь сделаю немножко за кадром", "Сорри, за кадром часть пришлось переделать" и так далее. В общем, каждая подобная фраза добавляла мне одну каплю пота на лбу. Все таки, если видео позиционируется, как лекция, хотелось бы более четкого схождения от общего к частному и более последовательной разработки
1. Есть исходники
2. Я не лектор
3. Спасибо за подробный комментарий
4. 👍
@@SergeiCalabonga понял, тогда вопросов нет. Видео, в любом случае считаю полезным. p.s. терпеть не могу чужие исходники))
У меня возник вопрос насчет системы definitions, как я понимаю в данной системе мы в каждом definition определяем нужные нам services и middlewares, с сервисами проблем нет, так как там не важен порядок подключения, но в middleware он важен и при этом не понятно в каком порядке по итогу склеиваются middlewares из всех definitions?
я просто использую ваш новый шаблон, где реализованы definitions и создал отдельно SignalRDefinition и там добавил app.UseSignalR ... и приложение крашится в связи с тем что нарушена последовательность middleware, я перенес app.UseSignalR в IdentityDefinition и заработало, но это явно не то что было задумано вами)
Те definitions, которые имеют значение последовательность я обычно в одном definition делаю. Или вы можете доработать систему и добавить возможность сортировки definitions.
@@SergeiCalabonga Понял, спасибо большое за ответ
@@СергейТарамалы-ш8г welcome
А как реализовать javascript клиента signalR? Есть ли какая то библиотека?
Не задавался таким вопросом, если честно. Просто использую SingalR и всё.
Это извращение появилось из-за недостатков стека протоколов http/1.1 уже давно есть 2.0 и 3й будет (ru.wikipedia.org/wiki/HTTP/3). Этот урок интересен в историческом контексте, но для практического применения он уже устарел. Если разрабатывается стек микросервисов на перспективу и выход релиза приложения ожидается в течении года и позже, это может быть связано со многими факторами, то лучше думать на перспективу и использовать 3ю версию, тем более все его поддерживают
Если честно, то вообще не понял о чем комментарий. Так можно сказать про любую технологию или протокол.