sockjs和springboot2.3.3连接丢失而不捕获

ej83mcc0  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(244)

我是websockets的新手,并遵循本指南实现了一个原型。设置好之后,我将尝试删除从浏览器到服务器的流,并且只实现从服务器到浏览器的推送通知机制。
在默认设置下,一切正常,浏览器订阅主题并直接接收消息。
问题是,这只适用于firefox,而不适用于chrome或safari。在chrome或safari中,消息在第一次被正确接收之后,nome就不会从服务器流到浏览器。
我还为连接丢失事件添加了一个catcher,但它从未被调用!这是我的stomp客户端实现

var socket = new SockJS('/messages');
    var stompClient = Stomp.over(socket);
    stompClient.debug = true;

    stompClient.connect({}, function (frame) {
        console.log("Connected: " + frame);
        stompClient.subscribe(topic, function(data){
            callback(data)
        });
    }, function(message) {
        console.log(message);
        sessionStorage.removeItem('is_connected');
        console.log("Removed parameter is_connected from local storage")
    });

    sessionStorage.setItem('is_connected', true);
    console.log("Connected to server, waiting for messages on topic " + topic);

} else {
    console.log("Client already connected");
}

你能告诉我我遗漏了什么,以便有一个稳定的实现这个简单的流程吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题