websocket服务搭建
关键点
SockJS是一个浏览器的JavaScript库,提供了一个连贯的、跨浏览器的JS API,在浏览器和Web服务器之间创建一个低延迟、全双工、跨域通信通道。SockJS的一大好处在于提供了浏览器兼容性——优先使用原生websocket,如果浏览器不支持websocket,就使用轮询的方式来获取服务端消息。
页面客户端
使用SockJS以及stomp来订阅信息
- 首先引入js文件
<script type="text/javascript" src="js/sockjs.js"></script>
<script type="text/javascript" src="js/stomp.js"></script>
- 创建socket对象
var socket = new SockJS("/chat");
- 使用stomp订阅消息
var stompClient = Stomp.over(socket);
stompClient.connect({}, function(frame) {
stompClient.subscribe("/topic/greetings", function(greeting) {
// console.log("收到服务器消息:" + greeting.body);
var nv = document.getElementById("title");
nv.innerHTML = greeting.body;
});
stompClient.send("/app/hello", {}, '{"name":"devis"}');
});
示例源码
码云 (https://gitee.com/xige-spring-learn/spring-boot-demo/tree/master)
github (https://github.com/DevisYang/spring-boot-demo)