iOS WebRTC dataChannel 数据发送注意事项

1. 通道建立

1. 通道的时候,按照一般顺序,先创建工厂
_factory = [[RTCPeerConnectionFactory alloc] init];

2.获取ICESevers

3.创建连接对象
    RTCPeerConnection *connection = [_factory peerConnectionWithConfiguration:configuration constraints:[self creatPeerConnectionConstraint] delegate:self];
    
4.创建datachannel
RTCDataChannel *channel = [connection dataChannelForLabel:@"sendDataChannel" configuration:dataChannelConfiguration];
channel.delegate = self;

需要注意的是,创建offer 必须在创建datachannel 之后,因为offer之中包含了一些配置信息,而且两端的一些其他参数要配置一直,不然的话,有可能会通道创建不起来,或者创建起来了,但是数据发送不了。

2. 数据发送

dataChannel 转发的时候,有个缓冲区,这个缓冲区大概是15MB, 也就是你往这个通道你们发数据,缓冲区大小超过这个数据的话,WebRTCDataChannel会自动关闭通道,导致数据发送不成功。

3.数据发送控制方案

dataChannel 数据发送要设计一些拥塞策略。

4. 数据格式

dataChannel发送的是数据流,一般我们会将本地字典转成通用JSON格式,需要注意的时候,在字典里面加入数据流的时候,一定要转Base64,要不然转JSON的时候会崩溃

转载于:https://my.oschina.net/1715828751/blog/3101664

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值