关闭websocket连接时,从AngularJS向Java发送变量

时间:2017-05-12 11:08:07

标签: java angularjs websocket

我想将变量X存储在服务器端的文件/ DB中。客户端使用AngularJS编写,服务器端使用JAVA编写。使用WebSocket建立连接。

现在每当连接关闭时(当我手动关闭它并且当它在某些错误时自动关闭时),我必须将变量X从AngularJs发送到JAVA。这样做的好方法是什么?

连接建立 - AngularJS代码

angular.module('main')
.factory('socket', function ($websocket,$cookies,$state) {

    // Open a WebSocket connection
    var ws = $websocket("ws://" + document.location.host + "/Server/dialog");
    var X = [];

    ws.onMessage(function (event) {
        console.log('message: ', event.data);
        var response;
        response = event.data;

        X.push({
            //some data
        });
    });

    ws.onError(function (event) {
        console.log('connection Error', event);
    });

    ws.onClose(function (event) {
        console.log('connection closed', event);
        X.push({
            //some closing msg
        });
        //From here I have to send the variable X to the server side
    });

    ws.onOpen(function () {
        console.log('connection open');
        ws.send("HELLO");
    });

    return {
        X: X,
        status: function () {
            return ws.readyState;
        },

        send: function (message) {
            if(message != null){
                console.log(message);
                X.push({
                    //some data
                });
                ws.send(message);
            }
        }
    };
})

如何在连接关闭时发送变量?

0 个答案:

没有答案