powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Boot 2 WebSocket ожидание ответа на сообщение
8 сообщений из 8, страница 1 из 1
Spring Boot 2 WebSocket ожидание ответа на сообщение
    #39773985
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую Spring Boot 2 + WebSocket + SockJS + STOMP.

Посылаю сообщение серверу. При этом мне нужно отобразить лоадер. С этим проблем нет. Но вот как быть с ответом? Отправляю сообщение с методом send, а получаю сообщения в subscribe функции.

Код: javascript
1.
2.
3.
stompClient.subscribe('/user/queue/test',  function (message) {
        console.log(message);
});



То бишь сюда будут сыпаться все месседжи которые придут на указанный url в подписке. Как мне отследить ответ на свой месседж?

Вижу варианты:

- в каждый месседж класть id который будет сгенерен фроном, ну и возвращать в ответе его же. Тут штука в том что это хорошо бы делать в одном месте. Вопрос. где это делать?

- У меня был вариант на фронте запоминать id месседжа после отправки и после того как придет ответ среагировать. Но оказало что метод send void. Пытался положить хидер вручную, но сервер мне вернул свой message-id. Может его можно изменить как-то?

- на каждый месседдж делать свой subscribe. Это типо норм, но если месседжет 100, то 100 подписок будет, а если умножить это на кол-во подключенных клиентов, то получается ппц просто.

Как лучше сделать? может есть другие идеи.
...
Рейтинг: 0 / 0
Spring Boot 2 WebSocket ожидание ответа на сообщение
    #39773991
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop,
как правило при получении сообщения от клиента по ws, ответ отправляется по умолчанию тому клиенту от которого пришло сообщение. если тебе надо отправить ответ в ответ именно на конкретное сообщение - добавь просто номер сообщения в сообщении клиента, организовав для этого глобальную переменную на клиенте.
...
Рейтинг: 0 / 0
Spring Boot 2 WebSocket ожидание ответа на сообщение
    #39774000
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадяTsyklop,
как правило при получении сообщения от клиента по ws, ответ отправляется по умолчанию тому клиенту от которого пришло сообщение. если тебе надо отправить ответ в ответ именно на конкретное сообщение - добавь просто номер сообщения в сообщении клиента, организовав для этого глобальную переменную на клиенте.

не совсем то что мне нужно. Да, я фронт отправляет сообщение, сервак мне же и отвечает. С этим проблем нет. Проблема в том что бы на фронте отреагировать именно на ответ к тому сообщению.

То бишь к примеру. мой метод send принимает url, headers, body, preSendCallback, messageReceiveCallback (это пример).

preSendCallback - вызывается перед тем как сообщение будет отправлено. (пригодится допустим для того что бы показать лоадер.)
messageReceiveCallback - будет вызвана после того как фронт получил ответ от сервака. Ответ именно на это сообщение, а не на другое. Вот тут и проблема.

Мне нужно отреагировать на ответ по определенному сообщению.
...
Рейтинг: 0 / 0
Spring Boot 2 WebSocket ожидание ответа на сообщение
    #39774016
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopПроблема в том что бы на фронте отреагировать именно на ответ к тому сообщению.дак пусть сервер отправляет номер сообщения обратно клиенту.
...
Рейтинг: 0 / 0
Spring Boot 2 WebSocket ожидание ответа на сообщение
    #39774020
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадяTsyklopПроблема в том что бы на фронте отреагировать именно на ответ к тому сообщению.дак пусть сервер отправляет номер сообщения обратно клиенту.

это надо делать в одном месте, а не в 100 куда может прийти сообщение. А вот где такое место, вопрос.
...
Рейтинг: 0 / 0
Spring Boot 2 WebSocket ожидание ответа на сообщение
    #39774022
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklopэто надо делать в одном месте, а не в 100 куда может прийти сообщениене понятно такое утверждение
...
Рейтинг: 0 / 0
Spring Boot 2 WebSocket ожидание ответа на сообщение
    #39774068
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklopвадяпропущено...
дак пусть сервер отправляет номер сообщения обратно клиенту.

это надо делать в одном месте, а не в 100 куда может прийти сообщение. А вот где такое место, вопрос.
и что? вообще, лучше по сокету гонять какие то осмысленные объекты, джейсон например. а то как их раскидывать фронт будет пусть у него голова болит. ты главное дай достаточно информации.
...
Рейтинг: 0 / 0
Spring Boot 2 WebSocket ожидание ответа на сообщение
    #39774455
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreykaT, и так гоняется json
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Boot 2 WebSocket ожидание ответа на сообщение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]