webrtc p2p iOS

p2p思路適應安卓,iOS,web

一.SDP配置順序

1.本地PC設置

  • 生成offer sdp 

[localPC offerForConstraints:constraints completionHandler:^(RTCSessionDescription * _Nullable sdp, NSError * _Nullable error) { }];複製代碼

  • 將生成sdp經過信令發送給遠端並設置本地setLocalDescription

[localPC setLocalDescription:sdp];
// sender sdp to server複製代碼
  • 接收遠端返回的Answer sdp
[localPC setRemoteDescription:answerSDP completionHandler:^(NSError * _Nullable error) {}]; 複製代碼

2.遠端PC設置

  • 接收遠端發來的offer, 設置遠端PC的sdp

[remotePC setRemoteDescription:sdp completionHandler:^(NSError * _Nullable error) {}];複製代碼
  • 同時生成answer sdp回給遠端, 並設置遠端pc的本地sdp

[remotePC answerForConstraints:constraints completionHandler:^(RTCSessionDescription * _Nullable sdp, NSError * _Nullable error){   
  [remotePC setLocalDescription:sdp completionHandler:^(NSError * _Nullable error) {}]; 
   // 發送Answer的sdp給遠端
}];複製代碼


2、candiate發送給對端的時機

1.本地PC要在設置setRemoteDescription以後再發送candiate,這期間生成的candiate須要收集起來,等待上面被執行以後在發送。web

2.遠端PC要在設置生成answer內部再發送candiate,此期間的candiate先收集起來,等待上面發送完畢在發送給對端bash

相關文章
相關標籤/搜索