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); } }
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; } }
public void createAnswer(string sdp) { answer.SetRemoteDescription("offer", sdp); answer.CreateAnswer(); }
public void setAnswer(string sdp) { offer.SetRemoteDescription("answer", sdp); }