【问题标题】:jquery stomp websockets server reconnection reinitializationjquery stomp websockets服务器重新连接重新初始化
【发布时间】:2017-07-03 21:11:44
【问题描述】:

我有一个通过 stomp.js 文件连接到我的 Java 后端的 websocket 应用程序。

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 后端服务器将重新启动怎么办?我希望客户不会注意到任何变化。有没有办法在连接丢失时自动重新连接?或者有什么方法可以让客户顺利吗?

【问题讨论】:

    标签: java websocket stomp


    【解决方案1】:

    连接时可以传入错误回调。在那里你可以重新连接逻辑。 比如stomp就有这个方法

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

    在 errorCallback 中只需调用 connectCallback。

    【讨论】:

    • 谢谢,但问题是错误回调只触发一次,但如果我的服务器宕机怎么办? 5分钟。当服务器再次启动时,我需要它自动重新连接,但您的方法在这种情况下不起作用。
    • 你可以在错误回调中写任何你想要的。您可以使用 setInterval 方法尝试获取连接并保持连接直到它连接
    • 好的,谢谢。但是您的答案与该线程接受的答案的链一起使用:stackoverflow.com/questions/22361917/…
    猜你喜欢
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多