示例#1
0
 private void ReadMessage(SignalingMessage msg)
 {
     if (msg.Type?.Equals(SessionDescription.SdpType.Offer.ToString(), StringComparison.OrdinalIgnoreCase) == true)
     {
         _webRtcClient.ReceiveOffer(
             new SessionDescription(
                 SessionDescription.SdpType.Offer,
                 msg.Sdp),
             (sdp, err) =>
         {
             if (string.IsNullOrEmpty(err))
             {
                 var signal = new SignalingMessage()
                 {
                     Type = sdp.Type.ToString(),
                     Sdp  = sdp.Description,
                 };
                 SendViaSocket(signal);
             }
         });
     }
     else if (msg.Type?.Equals(SessionDescription.SdpType.Answer.ToString(), StringComparison.OrdinalIgnoreCase) == true)
     {
         _webRtcClient.ReceiveAnswer(
             new SessionDescription(
                 SessionDescription.SdpType.Answer,
                 msg.Sdp),
             (sdp, err) =>
         {
         });
     }
     else if (msg.Candidate != null)
     {
         _webRtcClient.ReceiveCandidate(new IceCandidate(
                                            msg.Candidate.SdpMid,
                                            msg.Candidate.SdpMLineIndex,
                                            msg.Candidate.Sdp));
     }
 }
示例#2
0
 private void ReadMessage(SignalingMessage msg)
 {
     if (msg.Type?.Equals(RTCSdpType.Offer.ToString(), StringComparison.OrdinalIgnoreCase) == true)
     {
         _webRtcClient.ReceiveOffer(new RTCSessionDescription(RTCSdpType.Offer, msg.Sdp), (sdp, err) =>
         {
             if (err == null)
             {
                 SendSdp(sdp);
             }
         });
     }
     else if (msg.Type?.Equals(RTCSdpType.Answer.ToString(), StringComparison.OrdinalIgnoreCase) == true)
     {
         _webRtcClient.ReceiveAnswer(new RTCSessionDescription(RTCSdpType.Answer, msg.Sdp), (sdp, err) =>
         {
         });
     }
     else if (msg.Candidate != null)
     {
         _webRtcClient.ReceiveCandidate(new RTCIceCandidate(msg.Candidate.Sdp, msg.Candidate.SdpMLineIndex, msg.Candidate.SdpMid));
     }
 }