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的時候會崩潰對象

相關文章
相關標籤/搜索