static void Main(string[] args) { //LogManager.Assign(new SimpleLogManager<ConsoleLogger>()); // Module manager handles all modules in the server var moduleManager = new ModuleManager(); // Let's serve our downloaded files (Windows 7 users) var fileService = new DiskFileService("/", string.Format(@"C:\Users\{0}\Downloads", Environment.UserName)); // Create the file module and allow files to be listed. var module = new FileModule(fileService) {AllowFileListing = true}; // Add the module moduleManager.Add(module); moduleManager.Add(new MyModule()); moduleManager.Add(new MyModule2()); // And start the server. var server = new HttpServer(moduleManager); server.Start(IPAddress.Any, 0); Console.WriteLine("PORT " + server.LocalPort); //TrySendARequest(server); Console.ReadLine(); }
public void Start(int port) { try { // Module manager handles all modules in the server var moduleManager = new ModuleManager(); // Let's serve our downloaded files (Windows 7 users) var fileService = new DiskFileService("/", Settings.WebServerFolder); // Create the file module and allow files to be listed. var module = new FileModule(fileService) { ListFiles = false }; var routerModule = new RouterModule(); // Add the module //moduleManager.Add(module); moduleManager.Add(new WebServerModule()); //moduleManager.Add(new BodyDecodingModule(new UrlFormattedDecoder())); // And start the server. var server = new HttpServer(moduleManager); server.Start(IPAddress.Any, port); } catch (Exception ex) { Log.Error("Unable to start web server ", ex); } }
public void Stop() { webServer.Stop(); webServer = null; isWebServerStarted = false; wsServer.Stop(); wsServer.Dispose(); wsServer = null; isWSServerStarted = false; }
static void Main(string[] args) { //LogManager.Assign(new SimpleLogManager<ConsoleLogger>()); // Module manager handles all modules in the server var moduleManager = new ModuleManager(); // Let's serve our downloaded files (Windows 7 users) var fileService = new DiskFileService("/", string.Format(@"C:\Users\{0}\Downloads", Environment.UserName)); // Create the file module and allow files to be listed. var module = new FileModule(fileService) {ListFiles = true}; // Add the module moduleManager.Add(module); moduleManager.Add(new MyModule()); moduleManager.Add(new MyModule2()); // And start the server. var server = new HttpServer(moduleManager); server.Start(IPAddress.Any, 0); Console.WriteLine("PORT " + server.LocalPort); var request = @"GET /?signature=1dfea26808d632903549c69d78558fce1c418405&echostr=5867553698596935317×tamp=1365661332&nonce=1366146317 HTTP/1.0 User-Agent:Mozilla/4.0 Host:58.215.164.183 Pragma:no-cache Connection/Value:Keep-Alive "; var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Connect(IPAddress.Loopback, server.LocalPort); socket.Send(Encoding.UTF8.GetBytes(request)); var buffer = new byte[65535]; var len = socket.Receive(buffer, 0, buffer.Length, SocketFlags.None); var answer = Encoding.UTF8.GetString(buffer, 0, len); Console.WriteLine(answer); len = socket.Receive(buffer, 0, buffer.Length, SocketFlags.None); answer = Encoding.UTF8.GetString(buffer, 0, len); Console.WriteLine(answer); Console.ReadLine(); }
private static void TrySendARequest(HttpServer server) { var request = @"GET /?signature=1dfea26808d632903549c69d78558fce1c418405&echostr=5867553698596935317×tamp=1365661332&nonce=1366146317 HTTP/1.0 User-Agent:Mozilla/4.0 Host:58.215.164.183 Pragma:no-cache Connection/Value:Keep-Alive "; var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Connect(IPAddress.Loopback, server.LocalPort); socket.Send(Encoding.UTF8.GetBytes(request)); var buffer = new byte[65535]; var len = socket.Receive(buffer, 0, buffer.Length, SocketFlags.None); var answer = Encoding.UTF8.GetString(buffer, 0, len); Console.WriteLine(answer); len = socket.Receive(buffer, 0, buffer.Length, SocketFlags.None); answer = Encoding.UTF8.GetString(buffer, 0, len); Console.WriteLine(answer); }
private void StartWebServer(int httpPort) { if (!isWebServerStarted) { //if (Log != null) // Log(this, "Starting web server... ", false, LogLevel.Normal); try { var moduleManager = new ModuleManager(); //string root = Path.GetPathRoot(Assembly.GetExecutingAssembly().Location); string root = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\WebSite\"; var fileService = new DiskFileService("/", root); var module = new FileModule(fileService) { ListFiles = false }; // Add the module moduleManager.Add(new RootModule()); moduleManager.Add(module); //moduleManager.Add(new BodyDecodingModule(new UrlFormattedDecoder())); // And start the server. webServer = new HttpServer(moduleManager); webServer.Start(IPAddress.Any, httpPort); isWebServerStarted = true; } catch (Exception) { isWebServerStarted = false; } //if (Log != null) // Log(this, isWebServerStarted ? "Success." : "Failed.", true, isWebServerStarted ? LogLevel.Success : LogLevel.Error); } }
static void Main(string[] args) { LogManager.Assign(new SimpleLogManager<ConsoleLogger>()); // Module manager handles all modules in the server var moduleManager = new ModuleManager(); // Let's serve our downloaded files (Windows 7 users) var fileService = new DiskFileService("/", string.Format(@"C:\Users\{0}\Downloads", Environment.UserName)); // Create the file module and allow files to be listed. var module = new FileModule(fileService) {ListFiles = true}; // Add the module moduleManager.Add(module); moduleManager.Add(new BodyDecodingModule(new UrlFormattedDecoder())); moduleManager.Add(new MyModule()); // And start the server. var server = new HttpServer(moduleManager); server.Start(IPAddress.Any, 8080); Console.ReadLine(); }
public SimpleWebServer(string prefixes, X509Certificate2 certificate = null) { Uri uri = new Uri(prefixes); this.port = uri.Port; this.certificate = certificate; _worker = new HttpWorker(); ModuleManager moduleManager = new ModuleManager(); moduleManager.Add(_worker); _listener = new HttpServer(moduleManager); }
public static void StartAdmin() { try { while(Util.PortIsBusy(Convert.ToInt32(YAMS.Database.GetSetting("AdminListenPort", "YAMS"))) && AdminTryCount < 120) { AdminTryCount++; Database.AddLog("Admin Web server port still in use, attempt " + AdminTryCount, "web", "warn"); Thread.Sleep(5000); } //start new webserver for admin, session handling built-in var server = new Griffin.WebServer.HttpServer(adminModuleManager); server.Start(IPAddress.Any, Convert.ToInt32(YAMS.Database.GetSetting("AdminListenPort", "YAMS"))); } catch (System.Net.Sockets.SocketException e) { //Previous service has not released the port, so hang on and try again. Database.AddLog("Admin Web server port still in use, attempt " + AdminTryCount + ": " + e.Message, "web", "warn"); } catch (Exception e) { EventLog myLog = new EventLog(); myLog.Source = "YAMS"; myLog.WriteEntry("Exception: " + e.Data, EventLogEntryType.Error); } }