1. 程式人生 > >iOS WebRTC dataChannel 資料傳送注意事項

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,要不然轉J