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之中包含了一些配置信息,并且两端的一些其余参数要配置一直,否则的话,有可能会通道建立不起来,或者建立起来了,可是数据发送不了。spa

2. 数据发送

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

3.数据发送控制方案

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

4. 数据格式

dataChannel发送的是数据流,通常咱们会将本地字典转成通用JSON格式,须要注意的时候,在字典里面加入数据流的时候,必定要转Base64,要否则转JSON的时候会崩溃对象

相关文章
相关标签/搜索