public void Listen() { HttpListener listener = new HttpListener(); listener.Prefixes.Add(string.Format("http://*:{0}/", settings.ManagerPort)); listener.Start(); //srv1.serverData.Schedules.ServerEvents.Add(new ScheduledEvent("Test Event", DateTime.Now, EventType.START, ScheduleType.Interval, 10)); //srv1.serverData.Schedules.ServerEvents.Add(new ScheduledEvent("Test Event2", DateTime.Now.AddSeconds(5), EventType.START, ScheduleType.Once)); while (true) { HttpListenerContext context = listener.GetContext(); HttpListenerRequest request = context.Request; HttpListenerResponse response = context.Response; StreamReader r = new StreamReader(request.InputStream); string val = r.ReadToEnd(); r.Close(); Console.WriteLine(val); string responseString = HandleRequest(val); var responseData = Encoding.ASCII.GetBytes(responseString); response.ContentLength64 = responseData.Length; response.Headers.Add("Access-Control-Allow-Origin", "*"); response.Headers.Add("Access-Control-Allow-Methods", "POST, GET"); response.ContentEncoding = Encoding.UTF8; Stream outputStream = response.OutputStream; outputStream.Write(responseData, 0, responseData.Length); outputStream.Close(); Arma3ServerUtility.SaveServerList(); } }
public static void Main(string[] args) { bool isElevated; using (WindowsIdentity identity = WindowsIdentity.GetCurrent()) { WindowsPrincipal principal = new WindowsPrincipal(identity); isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator); } if (!isElevated) { MessageBox.Show("Admin permissions required.", "No Privileges"); Environment.Exit(0); } Arma3ServerUtility.LoadServerList(); HttpServer s = new HttpServer(SettingsManager.LoadSettings()); s.Listen(); }