无法使用简单的对等方通过RTC数据通道发送数据

问题描述

我最近尝试使用Webrtc实现p2p文件传输,方法是将大文件拆分为数组缓冲区,然后通过数据通道发送它们。该代码一个月前正常工作,但是现在突然让我抛出此错误

Uncaught RTCError: Failure to send data 
Uncaught Error: The error you provided does not contain a stack trace.

这是发送文件代码段。

    function sendFile() {
    const peer = peerRef.current;
    const stream = file.stream();
    const reader = stream.getReader();

    reader.read().then(obj => {
        handlereading(obj.done,obj.value);
    });

    function handlereading(done,value) {
        if (done) {
            console.log("done");
            peer.write(JSON.stringify({ done: true,fileName: file.name }));
            return;
        }

        peer.write(value);
        reader.read().then(obj => {
            handlereading(obj.done,obj.value);
            console.log("yolo");
        })
    }

}

代码在其他浏览器(如firefox或移动三星浏览器)上可以正常工作。

您还可以检查我的主仓库here和在线应用here(以重现错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)