socket.io能不能用来传输大数据?怎么传输?遇到了点问题
发布于 2年前 作者 blanche 1214 次浏览

我用socket.io来向网页前端传送大数据,用的是emit自定义事件的方法。

TCPclient.on('data',function(tdata) {
    tdata.copy(buff, 0, 0, tdata.length);
    es.emit("imdata", {bu: buff, id: isRecv});
    ......

传送的是Buffer类型,大小为5KB左右。但是前端接到后读取数据发现很多数据都错了。这是什么原因呢? enter image description here 另外,如上图所示,这是发送数据时命令行打印的,貌似发送了8KB,是自动填满为8KB吗? 再就是想问问,能否禁止命令行中打印这种信息。。貌似很费时间的

5 回复
require('socket.io').listen(server, {log: false});

这样是去除默认的日志打印的,别的我就不晓得了。

Buffer对象是不能够JSON序列化的。强制序列化的结果会变成一个数组

我要传送的就是一组以字节为单位的数据,那应该怎么做比较好呢

@blanche 在后端代码把这些数据转成按字节的数组,或者能够编码的话就编码成string传递呢?

回到顶部