您的位置:首页 > 编程语言 > Java开发

springboot websocket使用过程中的一些总结

2018-01-24 16:47 585 查看
利用websockte做实时推送的小总结,好记性不如烂笔头,在此记录及分享一下!

java后台需要引入



这个包,然后就是接受和推送信息,

@MessageMapping("aaa")

//接受传来消息的路径

@SendTo("/topic/brocast")

//@SendTo广播消息出去

public
String show1(String
msg) { return
msg;}

但是因为配置不熟,所以选择了一个最简单的方法进行推送,但是没实现接受

@Configuration
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer{
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/websocket")
.setAllowedOrigins("*")
.withSockJS();
}
}




这个demo很简单,引入websockte包之后,配置一下Endpoint,再写一个controller,然后引入SimpMessagingTemplate,之后就可以运行项目然后触发这个请求就会有消息广播出去,这样就能推送消息到订阅这个/topic/pull路径上,

前端那里只需订阅这个/topic/pull 这个路径就可以实时接受消息了!

前端需要引入三个js,分别是jquery.min.js,sockjs.min.js,stomp.min.js,具体代码如下,假设页面是Hello.html

var stompClient = null;

var socket = new SockJS('http://localhost:端口号/websocket');


stompClient = Stomp.over(socket);
stompClient.connect({}, function() {
stompClient.subscribe('/topic/pullLogger', function(event) {
console.log(event)
});
});

现在启动项目,访问这个Hello.html页面,然后发送 http://localhost:端口号/show/123 ,这时123会被推送到前端页面,

可以F12查看控制台是否打印了123,到此实时推送的简单demo完成!

这里找到了一个比较详细的文章:https://www.jianshu.com/p/60799f1356c5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Websockte