<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ~~~ <!DOCTYPE HTML> <html > <head > <meta charset="utf-8" > <script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js" ></script > </head > <body > <form > <div id="div1" ></div > <hr > <textarea style="width: 300px;height: 100px;" id="content" ></textarea > <input type="button" value="發送" onclick="Send()" > </form > </body > <script > var wsCopy; //服務端地址 var wsUrl = "ws://127.0.0.1:8095/message?groupid=22&userid=111&name=李四"; //心跳檢測 var heartTimeOut = 10 * 1000; //10s (1000 毫秒= 1 秒) - 設置時間比nginx超時時間短) //斷線重連 var reConnTimeOut = 2 * 1000; //心跳檢測 var heartCheck = { timer: null, timeout: heartTimeOut, start: function (ws) { this.timer = setInterval(function () { console.log("heartCheck"); ws.send("ping www.51websocket.cn"); }, this.timeout); } }; //斷線重連 var reConnection = { timer: null, timeout: reConnTimeOut, url: wsUrl, start: function (ws) { if (!ws.token) { this.timer = setTimeout(function () { console.log("ReConnect"); createWebSocket(this.url); }, this.timeout); return; } return; } }; //創建連接 createWebSocket(wsUrl); function createWebSocket() { try { var ws = new WebSocket(wsUrl); init(ws); } catch (e) { console.log('catch'); reConnection.start(); } } function init(ws) { //TODO : 連接關閉時觸發 ws.onclose = function () { clearInterval(heartCheck.timer); if (this.token == undefined) { //多種錯誤事件, 只會觸發一個斷線重連 this.token = false; } else if (this.token == false) { this.token = true; } console.log('Close'); reConnection.start(this); }; //通信發生錯誤時觸發 ws.onerror = function () { clearInterval(heartCheck.timer); if (this.token == undefined) { this.token = false; } else if (this.token == false) { this.token = true; } console.log('Error'); reConnection.start(this); }; //連接建立時觸發 ws.onopen = function () { clearTimeout(reConnection.timer); console.log('Connect'); //心跳檢測重置 heartCheck.start(this); wsCopy = ws; }; //客戶端接收服務端數據時觸發 ws.onmessage = function (event) { $("#div1").append("<h3>" + event.data + "</h3>"); } } //向服務端發送消息 function Send() { wsCopy.send($("#content").val()); $("#content").val(""); } </script > </html > ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看