<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ~~~ <div class="panel panel-default panel-intro"> <div class="panel-heading"> {:build_heading(null, false)} </div> <div class="panel-body"> <div id="mobile"> <img src="" id="dfffff"> </div> </div> </div> <script> let ws_str = 'ws://*.*.*.*:9911/clinet'; //創建一個webSocket實例,執行后,客戶端就會與服務端連接 var ws = new WebSocket(ws_str); ws.binaryType = "arraybuffer"; //當WebSocket創建成功時,觸發onopen事件 ws.onopen = function(){ console.log("open"); // 復雜的數據結構,在通過連接發送之前,必須進行序列化。 const json = JSON.stringify({ "fun": "loop_device_screenshot", "msgid": 0, "data": { "deviceid": "E4:9A:79:66:E0:88",//設備id "time": 100, //循環間隔時間 "isjpg":true //是否返回jpg格式的圖片,不填默認jpg } }); ws.send(json); //將消息發送到服務端 } //當客戶端收到服務端發來的消息時,觸發onmessage事件 ws.onmessage = function(e){ // console.log(e.data); console.log(binaryEvent(e)); // if (e.data.constructor.name === "Blob") { // let reader = new FileReader(); // reader.readAsText(e.data, 'utf-8'); // reader.onload = function (e) { // let data = reader.result; // console.log("result", data); // let deviceId = getDeviceId(data); // // console.log("deviceId=", deviceId); // let imgUrl = getImage(data); // // console.log("imgUrl=", imgUrl); // let isJpg = getJpg(data); // // console.log("isJpg=", isJpg); // } // } else { // let obj = JSON.parse(e.data); // console.log("string:", obj) // } } const binaryEvent = (event) => { // console.log(event); let data = event.data if (data instanceof ArrayBuffer) { data = new Uint8Array(data); } // console.log('data.length :>> ', data.length); const decoder = new TextDecoder('utf-8'); const device_id = decoder.decode(data.slice(0, 261)).split('\x00')[0]; const is_jpg = parseInt(data.slice(261, 265)) const img_data = data.slice(265); // console.log('device_id, is_jpg :>> ', device_id, is_jpg); // console.log('img_data :>> ', img_data); const _uint8Array = new Uint8Array(img_data); // 轉換為base64字符串 const base64String = uint8ArrayToBase64(_uint8Array); // var img = document.createElement('img'); var img_src = 'data:image/jpeg;base64,' + base64String; // document.body.appendChild(img); document.getElementById("dfffff").src = img_src; return { device_id, is_jpg, img_data, base64String } } function uint8ArrayToBase64(uint8Array) { // 將Uint8Array轉換為一個字符串 const binaryString = String.fromCharCode.apply(null, uint8Array); const base64String = btoa(binaryString); return base64String; } function getJpg(data){ return data.slice(261, 265); } function getImage(data){ //創建節點 // var img = document.createElement('img'); // img.src = imgUrl; // document.body.appendChild(img); return data.slice(265); } function getDeviceId(data){ let encoder = new TextEncoder(); let decoder = new TextDecoder('utf-8'); let utf8Array = encoder.encode(data.slice(0, 261)); let decodedStr = decoder.decode(utf8Array); return decodedStr.split('\x00')[0]; } //當客戶端收到服務端發送的關閉連接請求時,觸發onclose事件 ws.onclose = function(e){ console.log("close"); } //如果出現連接、處理、接收、發送數據失敗的時候觸發onerror事件 ws.onerror = function(e){ console.log(e); } </script> ~~~
                  <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>

                              哎呀哎呀视频在线观看