Example #1
0
    public override void ReceivedMessage(string description, string message)
    {
        if (description == "offer")
        {
            peer.SetRemoteDescription("offer", message);
            peer.CreateAnswer();
        }

        if (description == "answer")
        {
            peer.SetRemoteDescription("answer", message);
        }

        if (description == "ice")
        {
            //            peer.AddIceCandidate(message, 0, "video");
        }

        if (description == "iceJson")
        {
            IceJson iceJson = JsonUtility.FromJson(message, typeof(IceJson)) as IceJson;
            peer.AddIceCandidate(iceJson.Ice, iceJson.Index, iceJson.Mid);
            Debug.Log("WebRtcCtr, " + description + ", " + iceJson.Ice + iceJson.Index + iceJson.Mid);
        }
    }
 public void ConnectToServer()
 {
     //if (socket == null)
     {
         socket          = new WebRtcSocket();
         socket.OnOffer += (WebRtcMsg msg) =>
         {
             status = "Offer received.";
             Debug.Log("SetRemoteDescription(offer) sdp:" + msg.msg);
             peer.SetRemoteDescription("offer", msg.msg);
             peer.CreateAnswer();
             //socket.Emit("webrtc-answer", sdp);
         };
         socket.OnAnswer += (WebRtcMsg msg) =>
         {
             status = "Answer received.";
             //socket.Emit("webrtc-offer", sdp);
             Debug.Log("SetRemoteDescription(answer) sdp:" + msg.msg);
             peer.SetRemoteDescription("answer", msg.msg);
             foreach (string candidate in iceCandidates)
             {
                 socket.Emit("webrtc-icecandidate", candidate);
             }
             iceCandidates.Clear();
         };
         socket.OnJoin += (WebRtcMsg msg) =>
         {
             status = "Joined";
         };
         socket.OnWelcome += (WebRtcMsg msg) =>
         {
             if (this.offerSdp != null)
             {
                 socket.Emit("webrtc-offer", offerSdp);
             }
         };
         socket.OnExit += (WebRtcMsg msg) =>
         {
             status = "Exited";
         };
         socket.OnConnect += () =>
         {
             status = "Connected";
         };
         socket.OnConnectError += (msg) =>
         {
             status = "Connect error: " + msg;
         };
         socket.OnDisconnect += () =>
         {
             status = "Disconnected";
         };
         status = "Connecting...";
         socket.Open(serverURL);
     }
 }
Example #3
0
        public void SetSdp(string s)
        {
            Debug.Log("setsdp " + s);
            var arr = s.Split('%');

            switch (arr[0])
            {
            case "offer":
                peer.SetRemoteDescription(arr[0], arr[1]);
                peer.CreateAnswer();
                break;

            case "answer":
                peer.SetRemoteDescription(arr[0], arr[1]);
                break;

            case "ice":
                peer.AddIceCandidate(arr[1], int.Parse(arr[2]), arr[3]);
                break;
            }
        }
Example #4
0
 public void createAnswer(string sdp)
 {
     answer.SetRemoteDescription("offer", sdp);
     answer.CreateAnswer();
 }