public override void StartServer() { server = new EchoServer(IPAddress.Any, _port); // server.OptionNoDelay = true; server.OptionReuseAddress = true; server.OptionReusePort = true; Console.WriteLine("Server starting..."); server.Start(); }
static void Main(string[] args) { bool help = false; int port = 1111; var options = new OptionSet() { { "h|?|help", v => help = v != null }, { "p|port=", v => port = int.Parse(v) } }; try { options.Parse(args); } catch (OptionException e) { Console.Write("Command line error: "); Console.WriteLine(e.Message); Console.WriteLine("Try `--help' to get usage information."); return; } if (help) { Console.WriteLine("Usage:"); options.WriteOptionDescriptions(Console.Out); return; } Console.WriteLine($"Server port: {port}"); // Create a new echo server var server = new EchoServer(IPAddress.Any, port); // server.OptionNoDelay = true; server.OptionReuseAddress = true; server.OptionReusePort = true; // Start the server Console.Write("Server starting..."); server.Start(); Console.WriteLine("Done!"); Console.WriteLine("Press Enter to stop the server or '!' to restart the server..."); // Perform text input for (;;) { string line = Console.ReadLine(); if (line == string.Empty) { break; } // Restart the server if (line == "!") { Console.Write("Server restarting..."); server.Restart(); Console.WriteLine("Done!"); } } // Stop the server Console.Write("Server stopping..."); server.Stop(); Console.WriteLine("Done!"); }
static void Main(string[] args) { bool help = false; int port = 1111; int threads = Environment.ProcessorCount; var options = new OptionSet() { { "h|?|help", v => help = v != null }, { "p|port=", v => port = int.Parse(v) }, { "t|threads=", v => threads = int.Parse(v) } }; try { options.Parse(args); } catch (OptionException e) { Console.Write("Command line error: "); Console.WriteLine(e.Message); Console.WriteLine("Try `--help' to get usage information."); return; } if (help) { Console.WriteLine("Usage:"); options.WriteOptionDescriptions(Console.Out); return; } Console.WriteLine($"Server port: {port}"); Console.WriteLine($"Working threads: {threads}"); Console.WriteLine(); // Create a new service var service = new Service(threads); // Start the service Console.Write("Service starting..."); service.Start(); Console.WriteLine("Done!"); // Create a new echo server var server = new EchoServer(service, port, InternetProtocol.IPv4); // server.SetupNoDelay(true); server.SetupReuseAddress(true); server.SetupReusePort(true); // Start the server Console.Write("Server starting..."); server.Start(); Console.WriteLine("Done!"); Console.WriteLine("Press Enter to stop the server or '!' to restart the server..."); // Perform text input for (;;) { string line = Console.ReadLine(); if (line == string.Empty) { break; } // Restart the server if (line == "!") { Console.Write("Server restarting..."); server.Restart(); Console.WriteLine("Done!"); } } // Stop the server Console.Write("Server stopping..."); server.Stop(); Console.WriteLine("Done!"); // Stop the service Console.Write("Service stopping..."); service.Stop(); Console.WriteLine("Done!"); }