在我的 Spring Boot 应用程序中,我试图实现基于 WebSockets 的通知功能。
我提供了以下配置:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/notifications").withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.enableSimpleBroker("/topic", "/queue");
}
}
并尝试使用SimpMessagingTemplate
以便将消息从服务器端发送到特定的客户端(用户)。
@Autowired
private SimpMessagingTemplate simpMessagingTemplate;
public void sendMessages() {
simpMessagingTemplate.convertAndSendToUser(%user%, "/horray", "Hello, World!");
}
现在我不明白一些事情:
%user%
方法的参数 应该使用什么值simpMessagingTemplate.convertAndSendToUser
?我在方法 中
/notifications
注册的端点和方法的参数 之间有什么关联以及如何正确使用它?WebSocketConfig.registerStompEndpoints
destination
simpMessagingTemplate.convertAndSendToUser
如何防止用户在客户端阅读其他人的消息?