如何处理Spring MVC中的Stomp JS断开连接?

时间:2018-04-11 12:25:15

标签: spring spring-mvc websocket stomp spring-websocket

在我一直在研究的项目中,我发现Stomp JS客户端断开连接存在问题。 这是关于用户在浏览器中关闭标签或互联网连接出现问题时的情况。换句话说,我希望能够处理这个断开java端(服务器端)。 有可能吗?

我已经拥有处理Websocket开放的代码并且工作正常,我想要实现的是处理连接关闭(预期和意外情况)

这是我的一个HTML文件,其中包含与Stomp JS相关的代码(如果有必要,我也可以提供Java代码):

<script type="text/javascript">

    $(document).ready(function() { 
        connect(); 
    });

    var stompClient = null;

    function connect() {
        var socket = new SockJS('/lock-document');
        stompClient = Stomp.over(socket);
        stompClient.connect({}, function (frame) {
            console.log('Connected: ' + frame);
            stompClient.subscribe('/notify-open-documents/${id}', function (messageOutput) {
                console.log('Receiving message: ' + JSON.parse(messageOutput.body));
            });
            sendName();
        });
    }

    function disconnect() {
        if (stompClient !== null) {
            stompClient.disconnect();
        }
        console.log("Disconnected");
    }

    function sendName() {
        console.log("Sending message : " + JSON.stringify({'documentId' : "${id}" }));
        stompClient.send('/ws/lock-document', {}, JSON.stringify({'documentId': "${id}"}));
    }

</script>

0 个答案:

没有答案