WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。传统的网站为了实现推送技术,所用的技术都是 Ajax 轮询。
有一些浏览器中缺少对WebSocket的支持,而SockJS是一个浏览器的JavaScript库,它提供了一个类似于网络的对象,SockJS提供了一个连贯的,跨浏览器的JavaScriptAPI,它在浏览器和Web服务器之间创建了一个低延迟、全双工、跨域通信通道。SockJS的一大好处在于提供了浏览器兼容性。即优先使用原生WebSocket,如果浏览器不支持WebSocket,会自动降为轮询的方式。
function connect() { //连接服务器函数
var socket = new SockJS(" URL "); //URL需要连接的地址
stompClient = Stomp.over(socket);
stompClient.connect({}, function(frame) {
console.log('Connected: ' + frame); //连接服务器成功
//通过stompClient.subscribe订阅/topic/getResponse 目标(destination)发送的消息
//一对多
stompClient.subscribe('/topic/getResponse',function(response){
showResponse(JSON.parse(response.body));
});
//一对一订阅个人信息
// stompClient.subscribe('/user/' + userId + '/queue/getResponse',function(response){
// var code=JSON.parse(response.body);
// showResponse(code)
// });
});
}
//关闭双通道
function disconnect(){
if(stompClient != null) {
stompClient.disconnect();
}
}
function showResponse(message){
展示返回的信息
}
如需查看更多细节及后台配置等请点击
参考文章:https://blog.csdn.net/liyongzhi1992/article/details/81221103