摘要:最近使用了進行數據交互,發送在接收前端的二進制數據出現了數據錯誤等問題。后來發現思路上面的問題,在事件中的處理不適當才引發數據錯亂。
最近使用了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。這樣就正確的接收二進制數據了。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/99164.html
摘要:默認參數為空字符串密碼,可選參數,用于授權。默認參數為空字符串備注如果不是有效的方法或地址不能被成功解析,將會拋出異常如果請求方法不區分大小寫為或將會拋出異常重寫由服務器返回的類型。 本文詳細介紹了 XMLHttpRequest 相關知識,涉及內容: AJAX、XMLHTTP、XMLHttpRequest詳解、XMLHttpRequest Level 1、Level 2 詳解 XHR...
大吉大利,今晚吃雞! - PUBG 時隔多日,終于再次拾起這個拖了很久的項目。并不是因為沒時間,也不是因為這個項目對于我來說有多困難,就是一個字————懶。此項目的后臺,當然是選擇node.js來實現。作為一個前端,node.js比起java、php簡單多了。 node支持的webSocket 在npm中有很多支持webSocket的模塊,包括socket.io...
摘要:本文作為系列的第四篇內容,將會用一個簡單的聊天應用把整個傳輸二進制數據類型的內容連接起來,讓用戶對整個傳輸二進制數據的方法有個了解。如何發送二進制數據通過如何設計一個二進制協議一章,我們知道了如何定義傳輸的二進制數據格式。 概述 通過前三篇博客,我們能夠了解在通過WebSocket發送數據之前,我們需要傳遞的數據是如何變成ArrayBuffer二進制數據的;在我們收到二進制數據之后,我...
摘要:讓應用程序擁有異步讀取存儲在用戶計算機上文件或原始數據緩沖區的能力,使用或對象指定要讀取的文件或數據。對象用來表示通用的固定長度的原始二進制數據緩沖區。事實上,沒有名為的全局對象,也沒有一個名為的構造函數。 Ajax 即 Asynchronous Javascript And XML (異步 JavaScript 和 XML),是指一種創建交互式網頁應用的網頁開發技術。在無需重新加載整...
閱讀 1578·2021-11-25 09:43
閱讀 2482·2019-08-30 15:54
閱讀 2946·2019-08-30 15:53
閱讀 1096·2019-08-30 15:53
閱讀 755·2019-08-30 15:52
閱讀 2545·2019-08-26 13:36
閱讀 814·2019-08-26 12:16
閱讀 1216·2019-08-26 12:13