我需要在一些应用程序点通过用户名向特定用户发送短信,意味着消息将从服务器触发到客户端。客户端将订阅主题/队列。我听到@SendtoUser向perticular用户发送短信,但在我的情况下,用户只是订阅一个主题,然后从后端我需要向特定用户发送短信。用户不会向服务器发送任何短信。它只是基于推送的短信。
messagingTemplate.convertAndSendToUser(sessionId,"/queue/something", payload,
headerAccessor.getMessageHeaders());
但是我将从哪里获得目标用户的会话ID。这里的用户只是订阅了一次主题。
您可以在此处找到类似问题的答案(带有项目示例):Spring websocket发送给特定的人
用户订阅一次不是问题。建立连接后,服务器可以根据需要发送更多消息。