大文件传输报 RTCError: Unable to queue data for sending

来源:1-1 【学前必看】课程导学

Lclone

2021-07-08

我传输稍微大点大概就10几M的文件,发送端发送到一半的时候channel就自动关闭了,小文件没有问题,文件是分块传输的,这是为什么呀。。。

    var readStream = fs.createReadStream(dir,{
        highWaterMark:16384, //文件一次读多少字节,默认 64*1024
    });
    var count = 0; 
    var sendSize = 0;
    var totalSize = 0;

    // 用于读取数据流的对象被关闭时触发
    readStream.on( "open", function () {
        totalSize = fs.statSync(dir).size;
        var trans = renderSize(totalSize);
        console.log( "文件被打开 文件大小为:" + trans);
    } );
    //流每次读取一块,都会广播一次data事件,通过on来接受广播事件
    readStream.on('data',function (data) {
        console.log("发送的数据类型:");
        console.log(Object.prototype.toString.call (data));
        console.log("发送的数据:");
        console.log(data);
        sendSize += data.length;
        var process = (sendSize / totalSize) * 100;
        count++;
        var send = {
            "save": save,
            "chunk" : data,
            "totalSize": totalSize,
            "chunkSize": data.length,
            "filename" : name,
            "act" : "sendFile",
            "process": process,
            "count": count
        };
        send = JSON.stringify(send);
        dc.send(send);
    });
	.........
 

图片描述

写回答

1回答

李超

2021-07-11

这应该是chrome 的bug

0
4
李超
回复
Lclone
赞!!
2021-07-23
共4条回复

5G时代必备音视频WebRTC实时互动直播技术入门与实战

低门槛掌握WebRTC技术,高效率快速构建一套音视频实时互动系统

2545 学习 · 730 问题

查看课程