2017-07-03 4 views
0

Ich habe eine Websocket-App, die über Stomp.js-Datei mit meinem Java-Backend verbindet.jquery stomp websockets Server Reconnection Reinitialisierung

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) { 

}); 

Aber was ist, wenn mein Java Backend Server neu startet? Ich möchte, dass Kunden keine Veränderung bemerken. Gibt es eine Möglichkeit, die Verbindung bei Verbindungsverlust automatisch wiederherzustellen? Oder irgendeine Art, es für Klienten glatt zu machen?

Antwort

1

Wenn Sie eine Verbindung herstellen, können Sie einen Fehlerrückruf übergeben. Dort könnten Sie die Logik erneut verbinden. Zum Beispiel stampfen hat diese Methode

client.connect(login, passcode, connectCallback, errorCallback); 

und in errorCallback nur connectCallback nennen.

+0

Danke, aber das Problem ist ein Fehler Callback nur einmal ausgelöst, aber was, wenn mein Server down? Für 5 Minuten. Ich brauche es, um die Verbindung automatisch wiederherzustellen, wenn der Server wieder aktiv ist, aber Ihr Ansatz funktioniert in diesem Fall nicht. – avalon

+0

können Sie im Fehlerrückruf schreiben, was Sie wollen. Sie könnten setInterval-Methode verwenden, um zu versuchen, eine Verbindung zu erhalten und weiterzumachen, bis es verbindet – Janar

+0

Ok danke. Aber Ihre Antwort hat mit der Antwort dieses Threads funktioniert: https://stackoverflow.com/questions/22361917/automatic-reconnect-with-stomp-js-in-node-js-application – avalon

Verwandte Themen