|
Spring Boot 2 WebSocket ожидание ответа на сообщение
|
|||
---|---|---|---|
#18+
Использую Spring Boot 2 + WebSocket + SockJS + STOMP. Посылаю сообщение серверу. При этом мне нужно отобразить лоадер. С этим проблем нет. Но вот как быть с ответом? Отправляю сообщение с методом send, а получаю сообщения в subscribe функции. Код: javascript 1. 2. 3.
То бишь сюда будут сыпаться все месседжи которые придут на указанный url в подписке. Как мне отследить ответ на свой месседж? Вижу варианты: - в каждый месседж класть id который будет сгенерен фроном, ну и возвращать в ответе его же. Тут штука в том что это хорошо бы делать в одном месте. Вопрос. где это делать? - У меня был вариант на фронте запоминать id месседжа после отправки и после того как придет ответ среагировать. Но оказало что метод send void. Пытался положить хидер вручную, но сервер мне вернул свой message-id. Может его можно изменить как-то? - на каждый месседдж делать свой subscribe. Это типо норм, но если месседжет 100, то 100 подписок будет, а если умножить это на кол-во подключенных клиентов, то получается ппц просто. Как лучше сделать? может есть другие идеи. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 17:34 |
|
Spring Boot 2 WebSocket ожидание ответа на сообщение
|
|||
---|---|---|---|
#18+
Tsyklop, как правило при получении сообщения от клиента по ws, ответ отправляется по умолчанию тому клиенту от которого пришло сообщение. если тебе надо отправить ответ в ответ именно на конкретное сообщение - добавь просто номер сообщения в сообщении клиента, организовав для этого глобальную переменную на клиенте. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 17:50 |
|
Spring Boot 2 WebSocket ожидание ответа на сообщение
|
|||
---|---|---|---|
#18+
вадяTsyklop, как правило при получении сообщения от клиента по ws, ответ отправляется по умолчанию тому клиенту от которого пришло сообщение. если тебе надо отправить ответ в ответ именно на конкретное сообщение - добавь просто номер сообщения в сообщении клиента, организовав для этого глобальную переменную на клиенте. не совсем то что мне нужно. Да, я фронт отправляет сообщение, сервак мне же и отвечает. С этим проблем нет. Проблема в том что бы на фронте отреагировать именно на ответ к тому сообщению. То бишь к примеру. мой метод send принимает url, headers, body, preSendCallback, messageReceiveCallback (это пример). preSendCallback - вызывается перед тем как сообщение будет отправлено. (пригодится допустим для того что бы показать лоадер.) messageReceiveCallback - будет вызвана после того как фронт получил ответ от сервака. Ответ именно на это сообщение, а не на другое. Вот тут и проблема. Мне нужно отреагировать на ответ по определенному сообщению. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 18:04 |
|
Spring Boot 2 WebSocket ожидание ответа на сообщение
|
|||
---|---|---|---|
#18+
TsyklopПроблема в том что бы на фронте отреагировать именно на ответ к тому сообщению.дак пусть сервер отправляет номер сообщения обратно клиенту. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 18:26 |
|
Spring Boot 2 WebSocket ожидание ответа на сообщение
|
|||
---|---|---|---|
#18+
вадяTsyklopПроблема в том что бы на фронте отреагировать именно на ответ к тому сообщению.дак пусть сервер отправляет номер сообщения обратно клиенту. это надо делать в одном месте, а не в 100 куда может прийти сообщение. А вот где такое место, вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 18:33 |
|
Spring Boot 2 WebSocket ожидание ответа на сообщение
|
|||
---|---|---|---|
#18+
Tsyklopэто надо делать в одном месте, а не в 100 куда может прийти сообщениене понятно такое утверждение ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 18:36 |
|
Spring Boot 2 WebSocket ожидание ответа на сообщение
|
|||
---|---|---|---|
#18+
Tsyklopвадяпропущено... дак пусть сервер отправляет номер сообщения обратно клиенту. это надо делать в одном месте, а не в 100 куда может прийти сообщение. А вот где такое место, вопрос. и что? вообще, лучше по сокету гонять какие то осмысленные объекты, джейсон например. а то как их раскидывать фронт будет пусть у него голова болит. ты главное дай достаточно информации. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 19:29 |
|
|
start [/forum/topic.php?fid=59&msg=39773991&tid=2121478]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 338ms |
total: | 490ms |
0 / 0 |