我是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");
}
你能告诉我我遗漏了什么,以便有一个稳定的实现这个简单的流程吗?
暂无答案!
目前还没有任何答案,快来回答吧!