Как восстановить соединение через веб-сокет при использовании STOMP JS в Grails gsp?
Моя проблема в том, что когда я открываю страницу, я получаю данные из веб-сокета, но во время тестирования, когда я закрываю свое интернет-соединение, а затем снова подключаю его, я вижу сообщение "Woops...Connection lost undefined". Я хочу автоматически подключиться к веб-сокету. Мой код:
var socket = new SockJS("${createLink(uri: '/stomp')}");
var client = Stomp.over(socket);
client.connect({}, function () {
client.subscribe("/topic/${userInstance?.username}", function (message) {
console.log("Data on##....." + message.body);
var data = jQuery.parseJSON(message.body.toString());
var deviceId = $('#deviceId').find(":selected").val();
if (data.type == "balance") {
showDataBalance(data);
} else if (liveTrack == true && data.deviceId == deviceId && data.type == "event") {
var latLog = {
lat: parseFloat(data.eventData.latitude),
lng: parseFloat(data.eventData.longitude)
};
drawMarkerForLiveTracking(latLog, data.eventData);
}
});
});
И мой код STOMP.JS:
this.ws.onclose = function() {
var msg;
msg = "Whoops! Lost connection to " + _this.ws.url;
if (typeof _this.debug === "function") {
_this.debug(msg);
}
_this._cleanUp();
return typeof errorCallback === "function" ? errorCallback(msg) : void 0;
};
return this.ws.onopen = function() {
if (typeof _this.debug === "function") {
_this.debug('Web Socket Opened...');
}
headers["accept-version"] = Stomp.VERSIONS.supportedVersions();
headers["heart-beat"] = [_this.heartbeat.outgoing, _this.heartbeat.incoming].join(',');
return _this._transmit("CONNECT", headers);
};
Какие изменения я должен сделать в моем установлении соединения, чтобы сделать это автоматическим повторным соединением?