elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 ... 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [29] 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 ... 65
281  Programación / Java / Re: Entorno de desarrollo en java, Busco uno liviano. en: 3 Septiembre 2007, 22:22 pm
Umm, el JBlue es muy bueno pero está construido con Java y por lo tanto no es tan rápido como el JCreator (su versión free).

Un saludo!
282  Programación / Java / Re: Compilador en java en: 3 Septiembre 2007, 15:57 pm
Ligero... JCreator. Y como te dicen, una cosa es un Compilador y otra un IDE.

Un saludo!
283  Programación / Java / Re: enviar un BufferedImage a travez de socket en: 23 Agosto 2007, 21:07 pm
Inspirado en las bonitas palabras de Yshua, he intentado lo que dice y el resultado es el siguiente:

Clase Receptor.java: Se queda a la espera/escucha de conexiones en determinado puerto y recibe una imagen. En este caso he guardado la imagen en un archivo, pero las posibilidades son muchas:
Código
  1. import java.io.*;
  2. import java.net.*;
  3. import java.awt.image.BufferedImage;
  4. import javax.imageio.ImageIO;
  5. public class Receptor{
  6.    private ObjectInputStream entrada;
  7.    private ServerSocket servidor;
  8.    private Socket conexion;
  9.    public void ejecutarServidor() {
  10.        try {
  11.            servidor = new ServerSocket( 12345, 100 );
  12.            while ( true ) {
  13.                try {
  14.                    esperarConexion();
  15.                    entrada = new ObjectInputStream( conexion.getInputStream() );
  16.                    System.out.println( "\nSe recibieron los flujos de entrada\n" );
  17.                    procesarConexion();
  18.                } catch ( EOFException excepcionEOF ) {
  19.                    System.err.println( "El servidor terminó la conexión" );
  20.                    excepcionEOF.printStackTrace();
  21.                } finally {
  22.                    cerrarConexion();   // Paso 5: cerrar la conexión.
  23.                }
  24.            } // fin de instrucción while
  25.        } // fin del bloque try
  26.        catch ( IOException excepcionES ) {
  27.            excepcionES.printStackTrace();
  28.        }
  29.  
  30.    } // fin del método ejecutarServidor
  31.    // esperar que la conexión llegue, después mostrar información de la conexión
  32.    private void esperarConexion() throws IOException {
  33.        System.out.println( "Esperando una conexión\n" );
  34.        conexion = servidor.accept(); // permitir al servidor aceptar la conexión
  35.        System.out.println( "Conexión recibida de: " + conexion.getInetAddress().getHostName() );
  36.    }
  37.    // procesar la conexión con el cliente
  38.    private void procesarConexion() throws IOException {
  39.        do { // procesar los mensajes enviados por el cliente
  40.  
  41.            // leer el mensaje y mostrarlo en pantalla
  42.            try {
  43.                byte[] bytesImagen = (byte[]) entrada.readObject();
  44.                ByteArrayInputStream entradaImagen = new ByteArrayInputStream(bytesImagen);
  45.                BufferedImage bufferedImage = ImageIO.read(entradaImagen);
  46.  
  47.                String nombreFichero=System.getProperty("user.home")+File.separatorChar+"captura.jpg";
  48.                System.out.println("Generando el fichero: "+nombreFichero );
  49.                FileOutputStream out = new FileOutputStream(nombreFichero);
  50.                // esbribe la imagen a fichero
  51.                ImageIO.write(bufferedImage, "jpg", out);
  52.            }
  53.  
  54.            // atrapar problemas que pueden ocurrir al tratar de leer del cliente
  55.            catch ( ClassNotFoundException excepcionClaseNoEncontrada ) {
  56.                System.out.println( "\nSe recibió un tipo de objeto desconocido" );
  57.            }
  58.  
  59.        } while ( true );
  60.  
  61.    } // fin del método procesarConexion
  62.    // cerrar flujos y socket
  63.    private void cerrarConexion() {
  64.        System.out.println( "\nFinalizando la conexión\n" );
  65.        try {
  66.            entrada.close();
  67.            conexion.close();
  68.        } catch( IOException excepcionES ) {
  69.            excepcionES.printStackTrace();
  70.        }
  71.    }
  72.    public static void main( String args[] ) {
  73.        Receptor aplicacion = new Receptor();
  74.        aplicacion.ejecutarServidor();
  75.    }
  76. }

Clase Cliente.java: Ésta clase toma una captura de la pantalla, y luego envía dicha imágen como un arreglo de bytes al servidor especificado.
Código
  1. import java.io.*;
  2. import java.net.*;
  3. import javax.imageio.ImageIO;
  4. import java.io.Serializable;
  5. import java.awt.AWTException;
  6. import java.awt.Rectangle;
  7. import java.awt.Robot;
  8. import java.awt.Toolkit;
  9. import java.awt.image.BufferedImage;
  10. public class Cliente{
  11.    private ObjectOutputStream salida;
  12.    private String servidorChat;
  13.    private Socket cliente;
  14.  
  15.    public Cliente( String host ) {
  16.        servidorChat = host; // establecer el servidor al que se va a conectar este cliente
  17.    }
  18.    private void ejecutarCliente() {
  19.        try {
  20.            conectarAServidor(); // Paso 1: crear un socket para realizar la conexión
  21.            salida = new ObjectOutputStream( cliente.getOutputStream() );
  22.            salida.flush(); // vacíar búfer de salida para enviar información de encabezado
  23.            System.out.println( "\nSe recibieron los flujos de E/S\n" );
  24.            enviarDatos();
  25.        } catch ( EOFException excepcionEOF ) {
  26.            System.err.println( "El cliente termino la conexión" );
  27.        }
  28.  
  29.        // procesar los problemas que pueden ocurrir al comunicarse con el servidor
  30.        catch ( IOException excepcionES ) {
  31.            excepcionES.printStackTrace();
  32.        }
  33.  
  34.        finally {
  35.            cerrarConexion(); // Paso 4: cerrar la conexión
  36.        }
  37.  
  38.    } // fin del método ejecutarCliente
  39.  
  40.    // conectarse al servidor
  41.    private void conectarAServidor() throws IOException {
  42.        System.out.println( "Intentando realizar conexión\n" );
  43.        // crear Socket para realizar la conexión con el servidor
  44.        cliente = new Socket( InetAddress.getByName( servidorChat ), 12345 );
  45.        // mostrar la información de la conexión
  46.        System.out.println( "Conectado a: " +
  47.                cliente.getInetAddress().getHostName() );
  48.    }
  49.    // cerrar flujos y socket
  50.    private void cerrarConexion() {
  51.        System.out.println( "\nCerrando conexión" );
  52.        try {
  53.            salida.close();
  54.            cliente.close();
  55.        } catch( IOException excepcionES ) {
  56.            excepcionES.printStackTrace();
  57.        }
  58.    }
  59.    private void enviarDatos( ) {
  60.        Rectangle rectangleTam = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
  61.        try {
  62.            Robot robot = new Robot();
  63.            BufferedImage bufferedImage = robot.createScreenCapture(rectangleTam);
  64.            ByteArrayOutputStream salidaImagen = new ByteArrayOutputStream();
  65.            ImageIO.write(bufferedImage, "jpg", salidaImagen);
  66.            byte[] bytesImagen = salidaImagen.toByteArray();
  67.            salida.writeObject( bytesImagen );
  68.            salida.flush();
  69.            System.out.println( "Se ha enviado la imagen" );
  70.        } catch (AWTException e) {
  71.            e.printStackTrace();
  72.        } // procesar los problemas que pueden ocurrir al enviar el objeto
  73.        catch ( IOException excepcionES ) {
  74.            System.out.println( "\nError al escribir el objeto" );
  75.        }
  76.    }
  77.  
  78.    public static void main( String args[] ) {
  79.        Cliente aplicacion;
  80.  
  81.        if ( args.length == 0 )
  82.            aplicacion = new Cliente( "127.0.0.1" );
  83.        else
  84.            aplicacion = new Cliente( args[ 0 ] );
  85.  
  86.        aplicacion.ejecutarCliente();
  87.    }
  88.  
  89. } // fin de la clase Cliente

El programa funciona!!! Pero... me sale una excepción que no he sabido depurar:

Código:
java.io.EOFException
        at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)
        at java.io.ObjectInputStream.readObject(Unknown Source)
        at Receptor.procesarConexion(Receptor.java:43)
        at Receptor.ejecutarServidor(Receptor.java:17)
        at Receptor.main(Receptor.java:74)

Eso sucede después de que la imágen ya ha sido creada, y el problema es que la imágen no queda bien al 100% o algo raro pasa, es decir, puedes ver la imagen con el Gimp o Paint (que comparación tan burda XD), pero con el visor de imágenes de Windows no.

Y pues no sé como solucionar el problema :-\
284  Programación / Java / Re: enviar un BufferedImage a travez de socket en: 23 Agosto 2007, 19:22 pm
Lo primero a tener en cuenta es que para que un objeto pueda ser usado por sockets, es necesario que dicho objeto sea Serializable, es decir que implemente dicha clase. El problema es que la clase BufferedImage no implementa la interfaz Serializable.

De momento no se me ocurre nada, voy a echarle un vistazo a ver de que va la vaina.

Un saludo!
285  Programación / PHP / Re: Problemas con cURL y páginas con redirección en: 22 Agosto 2007, 00:57 am
Jajaja,

Sos un maestro!!! Vaya, funciona de maravilla, de verdad no tengo como agradecerte.

Un abrazo!!!
286  Programación / PHP / Problemas con cURL y páginas con redirección en: 22 Agosto 2007, 00:26 am
Hola a todos,

Les comento mi problema... tengo el siguiente código fuente, que me sirve para capturar el código una página web en un archivo de texto:

Código
  1. <?php
  2. $url=$HTTP_GET_VARS["u"];
  3. if($url!=null)
  4. {
  5. $url=ereg_replace("aquivaunputoampersand", "&", $url);
  6. $ch = curl_init();
  7. $fp = fopen ("archivo.txt", "w");
  8. curl_setopt($ch, CURLOPT_URL, $url);
  9. curl_setopt ($ch, CURLOPT_FILE, $fp);
  10. curl_setopt ($ch, CURLOPT_HEADER, 0);
  11. curl_exec ($ch);
  12. curl_close ($ch);
  13. fclose ($fp);
  14. $gestor = @fopen("archivo.txt", "r");
  15. if ($gestor) {
  16.    while (!feof($gestor)) {
  17.        $bufer .= fgets($gestor, 4096);
  18.    }
  19.    fclose ($gestor);
  20. }
  21. }
  22. ?>

Se usa de la siguiente forma, por ejemplo:

Código:
http://www.pagina.com/programa.php?u=http://www.google.com.co

El programa funciona bien con páginas simples (como en el ejemplo anterior), pero en páginas que hagan una redirección no es posible obtener el código fuente , como por ejemplo en esta:

Código
  1. <?
  2. header('Location: http://www.google.com.co');
  3. ?>

¿existe alguna manera de obtener el código fuente de la página? Obvianmente no el código fuente de esa página, sino de la página a la cual es redireccionada.

Un saludo!!!
287  Programación / Java / Re: reproducir mp3 en: 17 Agosto 2007, 17:07 pm
Gracias por la aclaración :)
288  Programación / PHP / Re: hosting gratuito que tenga la funcion Mail habilitada en: 11 Agosto 2007, 22:09 pm
Casi todos los scripts para quitar publicidad tienen la misma pinta, pero todos son distintos... a menos que la manera de poner publicidad de dos empresas de alojamiento sean iguales, y eso es casi imposible. Cada empresa diseña su estrategia para poner publicidad, y lo hace de tal forma que sea bien difícil quitarla.

Saludos!
289  Programación / PHP / Re: hosting gratuito que tenga la funcion Mail habilitada en: 11 Agosto 2007, 20:59 pm
Por cierto nacex....

¿Eso que pusiste para bloquear la publicidad funciona en todos los servidores?

En los ervidores lycos.
290  Programación / Java / Re: Gua (llorando) necesitop ayuda a programadores java (osbio) que usen linux en: 2 Agosto 2007, 01:32 am
Umm, lo de los ocultos... con eso depende del explorador que uses, por ejemplo si es nautilus activas la casilla correspondientes en el menú "Ver". Por lo general los archivos linux "oculta" los archivos que comienzen con un punto (.), por ejemplo .bash_rc

Si quieres ver en la consola los archivos que "ocultos", prueba digitar el comando (sin dar enter):

Código:
ls .

Y estando así, presionas dos veces la tecla TAB.

Un saludo!
Páginas: 1 ... 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [29] 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 ... 65
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines