static void Main(string[] args) { // http://www.codeproject.com/Articles/742260/Simple-Web-Server-in-csharp WebServer ws = new WebServer(); ws.Start(IPAddress.Loopback, 666, @"C:\Source\Github\SEDC-DataServer\Site"); }
public static void Main() { //NetworkInterface.GetAllNetworkInterfaces()[0].EnableDhcp(); NetworkInterface.GetAllNetworkInterfaces()[0].EnableStaticIP("192.168.0.16","255.255.255.0","192.168.0.1"); // NetworkInterface.GetAllNetworkInterfaces()[0].RenewDhcpLease(); // var ipAddress = NetworkInterface.GetAllNetworkInterfaces()[0].IPAddress; Thread.Sleep(1000); Debug.Print("Dirs: "); Debug.Print(Directory.GetCurrentDirectory()); Directory.SetCurrentDirectory(@"\SD"); string[] dirs = Directory.GetDirectories(@"\SD"); var webServer = new Server.WebServer {WebFolder = WebFolder, Port = 80}; webServer.Start(); var led = new OutputPort(Pins.ONBOARD_LED, false); while (true) { // Blink LED to show we're still responsive led.Write(!led.Read()); Thread.Sleep(2000); } }
public static void Main() { try { Console.Title = $"LMP {LmpVersioning.CurrentVersion}"; Console.OutputEncoding = Encoding.Unicode; ServerContext.StartTime = LunaNetworkTime.UtcNow.Ticks; if (!Common.PlatformIsWindows()) { LunaLog.Warning("Remember! Quit the server by using Control+C so the vessels are saved to the hard drive!"); } if (Common.PlatformIsWindows()) { ExitSignal.Exit += (sender, args) => Exit(); } else { //Register the ctrl+c event and exit signal if we are on linux Console.CancelKeyPress += (sender, args) => Exit(); } //We disable quick edit as otherwise when you select some text for copy/paste then you can't write to the console and server freezes //This just happens on windows.... if (Common.PlatformIsWindows()) { ConsoleUtil.DisableConsoleQuickEdit(); } //We cannot run more than 6 instances ofd servers + clients as otherwise the sync time will fail (30 seconds / 5 seconds = 6) but we use 3 for safety if (GetRunningInstances() > 3) { throw new HandledException("Cannot run more than 3 servers at a time!"); } //Start the server clock ServerContext.ServerClock.Start(); ServerContext.ServerStarting = true; //Set day for log change ServerContext.Day = LunaNetworkTime.Now.Day; LunaLog.Normal($"Luna Server version: {LmpVersioning.CurrentVersion} ({Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)})"); Universe.CheckUniverse(); LoadSettingsAndGroups(); VesselStoreSystem.LoadExistingVessels(); ScenarioSystem.GenerateDefaultScenarios(); ScenarioStoreSystem.LoadExistingScenarios(); LmpPluginHandler.LoadPlugins(); WarpSystem.Reset(); LunaLog.Normal($"Starting '{GeneralSettings.SettingsStore.ServerName}' on Port {ConnectionSettings.SettingsStore.Port}... "); LmpPortMapper.OpenLmpPort().Wait(); LmpPortMapper.OpenWebPort().Wait(); ServerContext.ServerRunning = true; LidgrenServer.SetupLidgrenServer(); WebServer.StartWebServer(); //Do not add the command handler thread to the TaskContainer as it's a blocking task LongRunTaskFactory.StartNew(() => new CommandHandler().ThreadMain(), CancellationTokenSrc.Token); TaskContainer.Add(LongRunTaskFactory.StartNew(WebServer.RefreshWebServerInformation, CancellationTokenSrc.Token)); TaskContainer.Add(LongRunTaskFactory.StartNew(LmpPortMapper.RefreshUpnpPort, CancellationTokenSrc.Token)); TaskContainer.Add(LongRunTaskFactory.StartNew(LogThread.RunLogThread, CancellationTokenSrc.Token)); TaskContainer.Add(LongRunTaskFactory.StartNew(() => new ClientMainThread().ThreadMain(), CancellationTokenSrc.Token)); TaskContainer.Add(LongRunTaskFactory.StartNew(() => BackupSystem.PerformBackups(CancellationTokenSrc.Token), CancellationTokenSrc.Token)); TaskContainer.Add(LongRunTaskFactory.StartNew(LidgrenServer.StartReceiveingMessages, CancellationTokenSrc.Token)); TaskContainer.Add(LongRunTaskFactory.StartNew(LidgrenMasterServer.RefreshMasterServersList, CancellationTokenSrc.Token)); TaskContainer.Add(LongRunTaskFactory.StartNew(LidgrenMasterServer.RegisterWithMasterServer, CancellationTokenSrc.Token)); TaskContainer.Add(LongRunTaskFactory.StartNew(VersionChecker.RefreshLatestVersion, CancellationTokenSrc.Token)); TaskContainer.Add(LongRunTaskFactory.StartNew(VersionChecker.DisplayNewVersionMsg, CancellationTokenSrc.Token)); while (ServerContext.ServerStarting) { Thread.Sleep(500); } LunaLog.Normal("All systems up and running. Поехали!"); LmpPluginHandler.FireOnServerStart(); QuitEvent.WaitOne(); LmpPluginHandler.FireOnServerStop(); LunaLog.Normal("So long and thanks for all the fish!"); } catch (Exception e) { if (e is HandledException) { LunaLog.Fatal(e.Message); } else { LunaLog.Fatal($"Error in main server thread, Exception: {e}"); } Console.ReadLine(); //Avoid closing automatically } }
static void Main() { string dir = Environment.CurrentDirectory; dir = dir.Replace("\\Server\\bin", ""); dir += "\\WebApplication1\\"; WebServer server = new WebServer(new[] {"http://localhost:8000/test/"}, dir); server.Start(); Console.ReadLine(); }