如何正确处理来自套接字的传入二进制数据

时间:2015-05-13 06:46:19

标签: node.js sockets

我有来自客户端(设备)的逐包发送的二进制映像文件。如何正确处理并将其保存到数据库中,以防止将来在转换后在图像上出现条带线。

var net  = require('net');
var server = net.createServer(function(socket){
    socket.on('end', function () {
        // somstuffhere();
    });
    socket.on('data',function(data){
         var revdata += data.toString('binary'); // receive first the buffer data.
     var checkdata = revdata.substr(-5);
     if(checkdata.substr(0,1) == '*'){
           var hexdata = new Buffer(revdata, 'ascii').toString('hex');
     // After converting to hex.Save database here..
       }else{
           revdata += data.toString('binary');
      }
});
server.listen(3020,'127.0.0.1', function () {
    console.log("server is up!");
});

列字段的数据类型为VARCHAR(3072).这在这里有意义吗?

1 个答案:

答案 0 :(得分:1)

我会使用Blob来代替VARCHAR进行编码。那样

  • 你不必事先决定多大,
  • 您根本不需要进行任何编码。