private void GetNewPassivePOC(WebRTCCommons.CustomAwaiter<byte[]> awaiter) { BeginInvoke((Action<WebRTCCommons.CustomAwaiter<byte[]>>)(async (a) => { SessionForm f = new SessionForm(); if (StunServersInUse) { f.SetStunServers(false, StunServers); } f.FormClosing += SessionFormClosing; f.Show(this); userForms.Add("/" + f.Value.ToString(), f); string content = passiveHtmlpage.Replace("/*{{{ICESERVERS}}}*/", "").Replace("{{{OFFER_URL}}}", "127.0.0.1:" + mServer.Port.ToString() + "/" + f.Value.ToString()); string sdp = await f.GetOffer(); content = content.Replace("/*{{{SDP}}}*/", System.Convert.ToBase64String(UTF8Encoding.UTF8.GetBytes(sdp))); string header = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnection: close\r\nContent-Length: " + content.Length.ToString() + "\r\n\r\n"; a.SetComplete(UTF8Encoding.UTF8.GetBytes(header + content)); }), awaiter); }
private async void GetOfferAsync(WebRTCCommons.CustomAwaiter<string> awaiter) { string sdp = await mConnection.GenerateOffer(); awaiter.SetComplete(sdp); }
private void GetNewPOC(IPEndPoint from, WebRTCCommons.CustomAwaiter<byte[]> awaiter) { BeginInvoke((Action<IPEndPoint, WebRTCCommons.CustomAwaiter<byte[]>>)((origin, a) => { SessionForm f = new SessionForm(); if (StunServersInUse) { f.SetStunServers(false, StunServers); } f.FormClosing += SessionFormClosing; f.Show(this); userForms.Add("/" + f.Value.ToString(), f); string content = htmlpage.Replace("/*{{{ICESERVERS}}}*/", "").Replace("{{{OFFER_URL}}}", origin.Address.ToString() + ":" + mServer.Port.ToString() + "/" + f.Value.ToString()); string header = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnection: close\r\nContent-Length: " + content.Length.ToString() + "\r\n\r\n"; a.SetComplete(UTF8Encoding.UTF8.GetBytes(header + content)); }), from, awaiter); }
private async void GetOfferResponseAsync(WebRTCCommons.CustomAwaiter<byte[]> awaiter, string offer) { string offerResponse = await mConnection.SetOffer(offer); byte[] r = UTF8Encoding.UTF8.GetBytes("HTTP/1.1 200 OK\r\nContent-Type: text/sdp\r\nConnection: close\r\nContent-Length: " + offerResponse.Length.ToString() + "\r\n\r\n" + offerResponse); awaiter.SetComplete(r); }