Задать вопрос
petushok55
@petushok55
Обучаюсь на практике.

Как реализовать парадигму «Запрос — Ответ» с помощью вебсокета?

При Http запросах ответ приходит сразу куда нужно и с ним можно дальше играться.

А вот если использовать WebSocket, то тут уже клиент отправляет запрос на сервер, а сервер уже отправляет обратку в специальный метод OnMessage.

Хочу реализовать примерно следующее

wsc.SendAsync("привет сервер, дай ответ пожалуйста", (answer)=>{
//и вот здесь обработать ответ. 
})

Я полагаю сервер отправляет сообщение в OnMessage, а оттуда, если например содержит type = callback, то пихать его в тот answer

Вообще есть идеи в голове, но думаю костыли это всё
Надеюсь вы поняли
  • Вопрос задан
  • 91 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
1. Сообщение должно быть структурированным, а не сырой текст. Например в json
2. У каждого сообщения (запроса) должен быть уникальный id.
Тогда клиент сможет сохранить у себя сопоставление id -> callback
3. Сервер, когда формирует ответ, помещает в него id запроса
4. Клиент при получении очередного ответа ищет у себя коллбэк с этим id и вызывает его.

Вообще для C# есть SignalR
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы