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

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

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

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

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

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

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

Вообще есть идеи в голове, но думаю костыли это всё
Надеюсь вы поняли
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka Куратор тега C#
Токсичный шарпист
1. Сообщение должно быть структурированным, а не сырой текст. Например в json
2. У каждого сообщения (запроса) должен быть уникальный id.
Тогда клиент сможет сохранить у себя сопоставление id -> callback
3. Сервер, когда формирует ответ, помещает в него id запроса
4. Клиент при получении очередного ответа ищет у себя коллбэк с этим id и вызывает его.

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

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

Войти через центр авторизации
Похожие вопросы