Spring Boot webSocket学习总结 快速搭建websocket
spring boot websocketConfiguration配置
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/socket")
.setAllowedOrigins("*")
.withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.enableSimpleBroker("/server","/user");
registry.setApplicationDestinationPrefixes("/app");
}
}
消息推送配置
@Configuration
public class WebSocketConfiguration {
@Autowired
private SimpMessagingTemplate simpMessagingTemplate;
public void sendMessage() {
simpMessagingTemplate.convertAndSend("/server/sendMessageByServer", "message");
}
public void sendQueueMessage() {
simpMessagingTemplate.convertAndSendToUser("1","/sendMessageByServer","message");
}
}
配置Browser端
服务端推送消息
<script>
var sockJS = new SockJS("http://localhost:8088/socket");
var stompClient = Stomp.over(sockJS);
stompClient.connect({},function (data) {
stompClient.subscribe("/server/sendMessageByServer",function (response) {
console.log(response);
})
})
</script>
后台一对一推送消息
<script>
var sockJS = new SockJS("http://localhost:8088/socket");
var stompClient = Stomp.over(sockJS);
stompClient.connect({},function (data) {
stompClient.subscribe("/user/"+id+"/sendMessageByServer",function (response) {
console.log(response);
})
})
</script>