예제 #1
0
 public Message(Guid id, string message, SpitfireSdp sdp = null, SpitfireIceCandidate iceCandidate = null)
 {
     this.Source       = id;
     this.Msg          = message;
     this.Sdp          = sdp;
     this.IceCandidate = iceCandidate;
 }
예제 #2
0
 private void SpitfireOnOnIceCandidate(SpitfireIceCandidate iceCandidate)
 {
     //var parsed = IceParser.Parse(iceCandidate.Sdp);
     //Reply to the remote client with your ICE information (sdp, sdpMid, sdpIndex)
     Console.WriteLine("NEW CANDIDATE: ", iceCandidate.Sdp, iceCandidate.SdpMid, iceCandidate.SdpIndex);
     //if(iceCandidate.Sdp.IndexOf("relay") > 0) {
     Candidates.Add(iceCandidate);
     //}
     processJson();
 }
예제 #3
0
        /// <summary>
        /// Handling new IceCandidate
        /// </summary>
        /// <param name="iceCandidate">IceCandidate</param>
        private void OnIceCandidate(SpitfireIceCandidate iceCandidate)
        {
            Console.WriteLine("New IceCandidate : {0} {1} {2}", iceCandidate.Sdp, iceCandidate.SdpMid, iceCandidate.SdpIndex);
            string answerJson;

            if (String.IsNullOrWhiteSpace(_connectedUser))
            {
                answerJson = JsonConvert.SerializeObject(new { type = "candidate", candidate = new { candidate     = iceCandidate.Sdp, sdpMid = iceCandidate.SdpMid,
                                                                                                     sdpMLineIndex = iceCandidate.SdpIndex } });
            }
            else
            {
                answerJson = JsonConvert.SerializeObject(new { type = "candidate", candidate = new { candidate     = iceCandidate.Sdp, sdpMid = iceCandidate.SdpMid,
                                                                                                     sdpMLineIndex = iceCandidate.SdpIndex }, name = _peers.Keys.Last() });
            }
            _signallingServer.Send(answerJson);
        }
예제 #4
0
 private void SpitfireOnOnIceCandidate(SpitfireIceCandidate iceCandidate)
 {
     var parsed = IceParser.Parse(iceCandidate.Sdp);
     //Reply to the remote client with your ICE information (sdp, sdpMid, sdpIndex)
 }
예제 #5
0
 public SpitfireIceCandidateEventArgs(SpitfireIceCandidate iceCandidate)
 {
     this.IceCandidate = iceCandidate;
 }
예제 #6
0
 private void SpitfireOnOnIceCandidate(SpitfireIceCandidate iceCandidate)
 {
     //var parsed = IceParser.Parse(iceCandidate.Sdp);
     OnIceCandidateFound?.Invoke(this, new SpitfireIceCandidateEventArgs(iceCandidate));
     //Reply to the remote client with your ICE information (sdp, sdpMid, sdpIndex)
 }