资讯专栏INFORMATION COLUMN

如何在Node.js的httpServer中接收前端发送的arraybuffer数据

DirtyMind / 807人阅读

摘要:最近使用了进行数据交互,发送在接收前端的二进制数据出现了数据错误等问题。后来发现思路上面的问题,在事件中的处理不适当才引发数据错乱。

最近使用了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。这样就正确的接收二进制数据了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/99164.html

相关文章

  • 你不知道 XMLHttpRequest

    摘要:默认参数为空字符串密码,可选参数,用于授权。默认参数为空字符串备注如果不是有效的方法或地址不能被成功解析,将会抛出异常如果请求方法不区分大小写为或将会抛出异常重写由服务器返回的类型。 本文详细介绍了 XMLHttpRequest 相关知识,涉及内容: AJAX、XMLHTTP、XMLHttpRequest详解、XMLHttpRequest Level 1、Level 2 详解 XHR...

    ckllj 评论0 收藏0
  • vue2.0开发聊天程序(六) 服务端webScoket

    大吉大利,今晚吃鸡!                   - PUBG 时隔多日,终于再次拾起这个拖了很久的项目。并不是因为没时间,也不是因为这个项目对于我来说有多困难,就是一个字————懒。此项目的后台,当然是选择node.js来实现。作为一个前端,node.js比起java、php简单多了。 node支持的webSocket 在npm中有很多支持webSocket的模块,包括socket.io...

    hiyayiji 评论0 收藏0
  • WebSocket系列之二进制数据设计与传输

    摘要:本文作为系列的第四篇内容,将会用一个简单的聊天应用把整个传输二进制数据类型的内容连接起来,让用户对整个传输二进制数据的方法有个了解。如何发送二进制数据通过如何设计一个二进制协议一章,我们知道了如何定义传输的二进制数据格式。 概述 通过前三篇博客,我们能够了解在通过WebSocket发送数据之前,我们需要传递的数据是如何变成ArrayBuffer二进制数据的;在我们收到二进制数据之后,我...

    amc 评论0 收藏0
  • AJAX 进阶使用(Blob、ArrayBuffer、FormData、Document、JSON

    摘要:让应用程序拥有异步读取存储在用户计算机上文件或原始数据缓冲区的能力,使用或对象指定要读取的文件或数据。对象用来表示通用的固定长度的原始二进制数据缓冲区。事实上,没有名为的全局对象,也没有一个名为的构造函数。 Ajax 即 Asynchronous Javascript And XML (异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。在无需重新加载整...

    wean 评论0 收藏0

发表评论

0条评论

DirtyMind

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<