亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

詳解如何在Node.js的httpServer中接收前端發送的arraybuffer數據

2024-05-06 16:46:48
字體:
來源:轉載
供稿:網友

最近使用了protobuf進行數據交互,發送在node.js接收前端的二進制數據出現了數據錯誤等問題。后來發現思路上面的問題,在req.on('data',()=>{})事件中的處理不適當才引發數據錯亂。借此發

我先直接貼正確接收二進制數據代碼

const server = http.createServer((req, res) => {    if(req.method==='OPTIONS'){      res.setHeader("Access-Control-Allow-Origin", "*");      res.statusCode=200;    }    if(req.method==='POST'){     // 存儲數組空間     let msg=[];     // 接收到數據消息     req.on('data',(chunk)=>{      if(chunk){       msg.push(chunk);      }     })     // 接收完畢     req.on('end',()=>{      // 對buffer數組陣列列表進行buffer合并返回一個Buffer      let buf=Buffer.concat(msg);      conosole.log(buf)//提取Buffer正確     })         }  });server.listen(3000,'127.0.0.1');

在nodejs中接收buffer數據需要以數組陣列的方式存儲然后通過buffer.concat對數組陣列合并創建新的arraybuffer。這樣就正確的接收二進制數據了。

示例二:

以后端傳送threejs中的點陣數組為例:

后端:

let buffer = Buffer.alloc((points.length + 4) * 4)//points.length + 4:預留前四個數字為其他信息(比如兩個數字為一組,或者三個數字為一組) //預留位置buffer.writeFloatLE(1, 0)buffer.writeFloatLE(2, 4)buffer.writeFloatLE(3, 8)buffer.writeFloatLE(4, 12)//buffer前四個數為信息//point數據從第16位開始寫入for (let i = 0, len = points.length; i < len; i++) {  buffer.writeFloatLE(points[i], i * 4 + 16)}res.send(buffer)

前端:

let pointXhr = new XMLHttpRequest()pointXhr.onreadystatechange = function () {  var DONE = pointXhr.DONE || 4;  if (pointXhr.readyState === DONE) {    let buffer = pointXhr.response    let bufferArray = new Float32Array(buffer);    for (var i = 0; i < buffer.length; ++i) {      bufferArray[i] = buffer[i];    }    let pointsArray = bufferArray.slice(4)    let points = []    //pointsArray 點陣從第5個開始(前四個數為其他信息)    for (let i = 0, l = pointsArray.length / 3; i < l; i++) {      points.push({        x: pointsArray[i * 3],        y: pointsArray[i * 3 + 1],        z: pointsArray[i * 3 + 2]      })    }    callback(points)  }}pointXhr.open("POST",url,true);pointXhr.responseType = 'arraybuffer';pointXhr.send(null);

前端接收圖片buffer

let imageXhr = new XMLHttpRequest()imageXhr.onreadystatechange = function () {  var DONE = imageXhr.DONE || 4;  if (imageXhr.readyState === DONE) {    if (imageXhr.response) {      let bufferArray = imageXhr.response      let uint8Array = new Uint8Array(bufferArray);      for (var i = 0; i < bufferArray.length; ++i) {      uint8Array[i] = bufferArray[i];    }    callback(uint8Array)    }  }}imageXhr.open("POST",url,true);imageXhr.responseType = 'arraybuffer';imageXhr.send(null);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
第一福利永久视频精品| 欧美性猛交视频| 法国裸体一区二区| 精品一区二区三区四区在线| 超在线视频97| 91麻豆国产语对白在线观看| 亚洲黄色av女优在线观看| 亚洲午夜av电影| 日产精品久久久一区二区福利| 午夜精品蜜臀一区二区三区免费| 成人福利在线视频| 欧美日韩在线视频一区| 91免费国产视频| 精品国产区一区二区三区在线观看| 久久久久久久国产| 久久久这里只有精品视频| 久久噜噜噜精品国产亚洲综合| 日韩av不卡电影| 日韩精品福利网站| 精品调教chinesegay| 欧美成人中文字幕在线| 欧美电影免费观看高清| 欧美大片在线看免费观看| www.午夜精品| 大伊人狠狠躁夜夜躁av一区| 精品无码久久久久久国产| 久久成人精品视频| 九九九久久国产免费| 日韩禁在线播放| 国产精品亚洲аv天堂网| 91国内揄拍国内精品对白| 欧美电影免费观看高清完整| 日韩不卡在线观看| 欧美视频精品一区| 亚洲天堂成人在线| 日韩日本欧美亚洲| 欧美精品videofree1080p| 久久久成人的性感天堂| 欧美最猛性xxxxx免费| 亚洲人成在线免费观看| 亲子乱一区二区三区电影| 精品久久久视频| 亚洲精品国产综合久久| 成人激情在线播放| 中文字幕日韩专区| 成人在线视频福利| 欧美国产日韩二区| 日韩av影院在线观看| 欧美大片第1页| 欧美另类老女人| 国产精品高潮呻吟久久av无限| 国产精品99蜜臀久久不卡二区| 国产精品视频网| 国产一区二区日韩| 久久国产一区二区三区| 亚洲精品一区中文| 国产日韩在线免费| 在线观看欧美视频| 亚洲综合最新在线| 尤物tv国产一区| 日韩在线观看免费全集电视剧网站| 亚洲性线免费观看视频成熟| 国产精品国产亚洲伊人久久| 亚洲色图日韩av| 久久久99免费视频| 久久av红桃一区二区小说| 国外日韩电影在线观看| 亚洲人成电影网站色…| 日本中文字幕不卡免费| 成人啪啪免费看| 富二代精品短视频| 欧美一级视频免费在线观看| 日韩一级裸体免费视频| 91精品国产91久久久久久久久| 一区二区欧美在线| 中文字幕日本欧美| 欧美老女人xx| 日韩免费黄色av| 色综合影院在线| 中文字幕日本欧美| 欧美中在线观看| 久久综合免费视频| 色狠狠久久aa北条麻妃| 精品五月天久久| 亚洲欧美成人一区二区在线电影| 55夜色66夜色国产精品视频| 国产成人精品a视频一区www| 91理论片午午论夜理片久久| 日韩免费看的电影电视剧大全| 亚洲在线免费看| 日韩中文在线中文网在线观看| 国语自产精品视频在线看抢先版图片| 国产成人精品视频在线| 97超视频免费观看| 2019中文字幕全在线观看| 久久国产精品亚洲| 国产精品久久久久不卡| 欧美大秀在线观看| 欧美激情按摩在线| 午夜精品久久久久久久久久久久| 午夜精品久久久久久久久久久久| 欧美日韩国产综合视频在线观看中文| 亚洲影院色在线观看免费| 欧美成人精品在线播放| 欧美大荫蒂xxx| 亚洲免费伊人电影在线观看av| 日韩av最新在线| 国产精品一区二区久久| 尤物精品国产第一福利三区| 欧美亚洲日本黄色| 国产精品wwwwww| 日韩欧美在线观看视频| 91久久精品久久国产性色也91| 自拍偷拍亚洲欧美| 亚洲精品98久久久久久中文字幕| 成人午夜激情网| 欧美制服第一页| 日韩欧美在线免费| 亚洲人成电影网站| 高清一区二区三区日本久| 成人在线国产精品| 亚洲字幕一区二区| 日韩一二三在线视频播| 国产视频精品xxxx| 亚洲国产日韩欧美在线图片| 丁香五六月婷婷久久激情| 日韩国产欧美精品一区二区三区| 中文字幕精品久久久久| 亚洲a级在线播放观看| 国产精品一区二区久久久久| 亚洲少妇激情视频| 国产精品久久久久久久久久久不卡| 欧美重口另类videos人妖| 日韩久久免费视频| 日韩久久免费电影| 亚洲国产精品嫩草影院久久| 成人免费高清完整版在线观看| 精品久久久久久久久中文字幕| 美日韩丰满少妇在线观看| 91精品国产高清| 九九九热精品免费视频观看网站| 亚洲精品欧美日韩专区| 成人网欧美在线视频| 久久精品99久久久久久久久| 亚洲精品视频免费在线观看| 亚洲第一区中文99精品| 欧洲成人免费aa| 92看片淫黄大片欧美看国产片| 久久久亚洲成人| 成人淫片在线看| 亚洲国产古装精品网站| 97精品欧美一区二区三区| 亚洲一区二区三区在线视频| 久久精品99无色码中文字幕| 51久久精品夜色国产麻豆| 久久久久久久一区二区| 91探花福利精品国产自产在线| 久久久精品免费| 欧美国产高跟鞋裸体秀xxxhd| 久久久综合av| 精品国产一区二区三区久久狼5月| 97在线免费观看| 欧美电影免费观看网站| 亚洲欧美在线一区二区|