zoukankan      html  css  js  c++  java
  • 实现 WebSocket 断开自动重连的 JavaScript 库

    ReconnectingWebSocket 是一个小型的 JavaScript 库,封装了 WebSocket API 提供了在连接断开时自动重连的机制。

    只需要简单的将:

    ws = new WebSocket('ws://....');

    替换成:

    ws = new ReconnectingWebSocket('ws://....');

    //间隔发送心跳包数据给服务器,服务器在一定时间内发回心跳包响应,对比超时限定,如果超过设定的超时时间,则认为当前与服务器的websocket连接已经断开,关闭当前web socket连接,善后处理,例如重新连接,或者弹出提示……
    function keepalive(ws) {
        var time = new Date();
        if (last_health != -1 && (time.getTime() - last_health > health_timeout)) {
            //连接断开,可设置重连或者关闭连接
            $("#keeplive_box").html("服务器没有响应.").css({
                "color" : "red"
            });
            //ws.close();
        } else {
            $("#keeplive_box").html("连接正常").css({
                "color" : "green"
            });
            if (ws.bufferedAmount == 0) {
                ws.send('~H#C~');
            }
        }
    }
    
    var ws = new WebSocket(to_url);
    ws.onopen = function () {
        $("#statustxt").html("connected.");
        $("#send_btn").attr("disabled", false);
        heartbeat_timer = setInterval(function () {
                keepalive(ws)
            }, 3000);
    }
    高否?富否?帅否? 否? 滚去学习!
  • 相关阅读:
    web测试方法总结
    APP测试点总结
    函数初识
    字符编码及文件操作
    简单购物车程序(Python)
    基本数据类型(列表,元祖,字典,集合)
    python基础
    基本数据类型(数字和字符串)
    Python入门
    操作系统
  • 原文地址:https://www.cnblogs.com/baixc/p/4816783.html
Copyright © 2011-2022 走看看