コード例 #1
0
    //Manejo desde HTTP. Todo desde aqui. Una vez terminada la funcion acabara el programa
    public static void operaDesdeServidor()
    {
        //create server and listen from port 25430
        Console.WriteLine("Para usar el programa abre en un navegador la siguiente URL:");
        Console.WriteLine("http://127.0.0.1:" + puerto + "/");
        Console.WriteLine("");

        Debug.WriteLine(Utilidades.WL("Arrancando servidor"));


        myServer = new NetworkServer();

        if (!myServer.Abre(puerto))
        {
            Console.WriteLine("No se ha podido abrir servidor.");
            Console.WriteLine("Es posible que ya tengas el programa abierto.");
            Console.WriteLine("");

            Debug.WriteLine(Utilidades.WL("No se ha podido arrancar el servidor"));

            return;
        }

        Debug.WriteLine(Utilidades.WL("Servidor arrancado"));

        //Abre navegador
        ProcessStartInfo sInfo = new ProcessStartInfo("http://127.0.0.1:" + puerto + "/");

        Process.Start(sInfo);

        while (true)
        {
            if (forzarSalida)
            {
                return;
            }

            RespuestaServer respuestaServer = myServer.Escucha();
            RespuestaHTTP   GETurl          = respuestaServer.respuestaHTTP;

            if (!GETurl.correcto)
            {
                myServer.CierraCliente(respuestaServer);
                continue;
            }

            Thread t = new Thread(delegate()
            {
                operaDesdeServidorAcciones(respuestaServer);
            });
            t.Start();

            Debug.WriteLine(Process.GetCurrentProcess().Threads.Count);
        }
    }