首页 > 编程语言 > 详细

spring boot(二)websocket

时间:2018-07-02 23:32:02      阅读:218      评论:0      收藏:0      [点我收藏+]
spring boot 与 webSocket

1. 广播式

1. 在配置类中使用@EnableWebSocketMessageBroker开启websocket支持。

StompEndpointRegistry.addEndpoint(“/endpointWisely”).withSocketJS();  //注册STOMP协议的节点,配置制定的url

StompEndpointRegistry.enableSimpleBroker(“/topic”);  //配置消息代理,也是服务端发送消息的url前缀

2.控制器中

@Controller

public class WsController{

@MessageMapping(“/hello”) //浏览器请求路径

@SendTo(“/topic/getResponse”)

public WiselyResponse say(WiselyMessage message){

return new WiselyResponse(“hello”+message);

}

3.页面JS中

var socket = new SockJS(‘/endpointWisely’); //对应config中配置的节点url

stompClient.subscribe(‘/topic/getResponse’) //订阅,浏览器—>服务器,对应controller中@sendTo注解的路径

stompClient.send(‘/hello’) //发送消息,服务器—>浏览器,对应controller中@MessageMapping注解的路径

2.点对点式

SimpMessagingTemplate是Spring-WebSocket内置的一个消息发送工具,可以将消息发送到指定的客户端。

@Controller

public class WsController{

@Autowired

private SimpMessagingTemplate simpMessagingTemplate;

@MessageMapping(“/point2p”) //浏览器请求路径

public void say(String message){

simpMessagingTemplate.convertAndSendToUser(“接受消息的用户”,”/topic/getResponse”, message);

}

}

且js中路径stompClient.subscribe(‘/user/topic/getResponse’),多了一个/user,表示发送消息到指定用户。

spring boot(二)websocket

原文:http://blog.51cto.com/13580976/2135265

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!