重新连接到Nodejs socket.io Server

时间:2018-06-07 10:10:34

标签: jquery node.js socket.io

我是nodejs的新手,我无法弄清楚为什么当我尝试通过Android智能手机连接到我的Node Js服务器时我可以连接。但是当网页未关闭且智能手机处于LockedScreen模式时,设备将在一段时间过后断开连接并重新连接。

所以我决定在窗口未激活时断开连接,并在活动时再次连接到服务器。

在客户端,它看起来像这样。

<script src="http://server.xy:3000/socket.io/socket.io.js"></script>
var server = io("http://server.xy:3000");

我的解决方案就是这样:

$(window).on("blur focus", function(e) {
    var prevType = $(this).data("prevType");

    if (prevType != e.type) {   //  reduce double fire issues
        switch (e.type) {
            case "blur":
                   //disconnect from Server
                break;
            case "focus":
                   //connect to Server
                 break;
         }
    }

    $(this).data("prevType", e.type);
});

1 个答案:

答案 0 :(得分:0)

通过在客户端添加来解决问题:

server.disconnect();
server.connect();