猿问

有没有人遇到过这个问题哈!WebRTC dataChannel.send这个发送的数据有长度限制吗

//Createthelocalconnectionanditseventlisteners
localConnection=newRTCPeerConnection();
//Createthedatachannelandestablishitseventlisteners
sendChannel=localConnection.createDataChannel("sendChannel");
sendChannel.onopen=handleSendChannelStatusChange;
sendChannel.onclose=handleSendChannelStatusChange;
localConnection.ondatachannel=receiveChannelCallback;
sendChannel.onmessage=handleReceiveMessage;
//函数明细省略
sendChannel.send('aaaa');//发送成功
sendChannel.send(newArrayBuffer(111));//成功
sendChannel.send(newArrayBuffer(872494));//发送之后sendChannel通道自动关闭了,数据也没发送成功,sendChannel.bufferedAmount//872494
//发送文件
varread=newFileReader()
read.readAsArrayBuffer(file)//file=inputfile
read.onloadend=()=>{
sendChannel.send(read.result)
console.log(sendChannel)//状态为closed
console.log(read.result)//arraybuffer
}
不知道是不是有什么限制,在发送input中输入的文本没有问题,当我想发送image文件时就挂掉了.还请大佬能指点一下。
尚方宝剑之说
浏览 915回答 2
2回答

HUH函数

webrtc的DataChannel是有缓冲区的,超过缓冲区大小就会关闭通道,好像是15M?具体错误原因还是看sendChannel.onerror的报错吧
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答