static void Main2()
        {
            Console.WriteLine("Hello!, from SharpConnect");
                 
            TestApp testApp = new TestApp();
            try
            {
                //1. create  
                WebServer webServer = new WebServer(8080, true, testApp.HandleRequest);

                //test websocket 
                webServer.WebSocketServer = new WebSocketServer(testApp.HandleWebSocket); 
                webServer.Start();

                string cmd = "";
                while (cmd != "X")
                {
                    cmd = Console.ReadLine();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
            }
            finally
            {
                // close the stream for test file writing
                try
                {
#if DEBUG

#endif
                }
                catch
                {
                    Console.WriteLine("Could not close log properly.");
                }
            }
        }
        static void Main_Https()
        {
            Console.WriteLine("Hello!, from SharpConnect Https");

            TestApp testApp = new TestApp();

            try
            {
                //1. create
#if DEBUG
                var webServer = new SharpConnect.WebServers.WebServer(8080, false, testApp.HandleRequest);
#else
                var webServer = new SharpConnect.WebServers.WebServer(8080, false, testApp.HandleRequest);
#endif

                webServer.LoadCertificate(@"mycert.p12", "12345");
                webServer.UseSsl = true;

                //test websocket
                var webSocketServer = new SharpConnect.WebServers.WebSocketServer();
                webSocketServer.SetOnNewConnectionContext(ctx =>
                {
                    s_contextList.Add(ctx);
                    ctx.SetMessageHandler(testApp.HandleWebSocket);
                });
                webServer.WebSocketServer = webSocketServer;
                webServer.Start();

                string cmd = "";
                while (cmd != "X")
                {
                    cmd = Console.ReadLine();
                    switch (cmd)
                    {
                    case "B":
                    {
                        //test broadcast
                        int j = s_contextList.Count;
                        for (int i = 0; i < j; ++i)
                        {
                            s_contextList[i].Send("hello!");
                        }
                    }
                    break;
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
            }
            finally
            {
                // close the stream for test file writing
                try
                {
#if DEBUG
#endif
                }
                catch
                {
                    Console.WriteLine("Could not close log properly.");
                }
            }
        }