我有一个websocket应用程序,它通过stomp.js文件连接到我的Java后端。
function connect() {
var socket = new SockJS('<?php echo $rootbasename;?>wsconnect');
stompClient = Stomp.over(socket);
stompClient.debug = null;
stompClient.connect({}, function (frame) {
console.log('Connected: ' + frame);
console.log('/queue/messages/' + widgetId + "/" + $.cookie(cookiename));
stompClient.subscribe('/queue/messages/' + widgetId + "/" + $.cookie(cookiename), function (result) {
//code here
}, {userToken: $.cookie(cookiename), widgetId: widgetId});
stompClient.subscribe('/queue/makereadresult/' + widgetId + '/' + $.cookie(cookiename), function (result) {
});
但是,如果我的java后端服务器将重启怎么办?我希望客户不要注意任何变化。有没有办法在连接丢失时自动重新连接?或者以任何方式使客户顺利进行?
答案 0 :(得分:2)
当你连接时,你可以传递错误回调。在那里你可以重新连接逻辑。 例如stomp有这个方法
client.connect(login, passcode, connectCallback, errorCallback);
并在errorCallback中调用connectCallback。