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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ... 65
151  Programación / .NET (C#, VB.NET, ASP) / Re: div ( tabless ) no funciona a el mozilla con ajax Java. en: 28 Marzo 2008, 21:01 pm
Es mejor que preguntes en un foro que hablen tu idioma, porque casi no se te entiende nada...

Solo una cosa más... no es Java, es javascript. Son totalmente distintos ;)
152  Programación / Java / Re: Duda con con codigo chat ayuda!!! en: 26 Marzo 2008, 20:32 pm
No es nada facil coger codes ajenos y entenderlos.

Es lo que iba yo a decir...
153  Programación / Java / Re: Duda con con codigo chat ayuda!!! en: 26 Marzo 2008, 19:57 pm
Después de corregir 12 errores:

Código
  1. import java.io.*;
  2. import java.net.*;
  3. import javax.swing.*;
  4. import java.util.*;
  5.  
  6. public class ServidorChat
  7. {
  8.    private static final int PUERTO=9000;
  9.    protected static final int TIEMPO_DESCONEXION_AUTOMATICA=600000;
  10.    private ServerSocket socketServidor;    
  11.  
  12.    public static void main (String []args)
  13.    {
  14.        new ServidorChat();        
  15.    }
  16.  
  17.    public ServidorChat()
  18.    {
  19.        System.out.println("Arrancando Servidor por el puerto "+PUERTO);
  20.        arrancarServidor();
  21.        procesarClientes();        
  22.    }
  23.  
  24.    private void arrancarServidor()
  25.    {
  26.        try
  27.        {
  28.            socketServidor = new ServerSocket(PUERTO);
  29.            System.out.println("El servidor esta en marcha escuchando por el puerto: "+PUERTO);
  30.        }
  31.        catch (java.net.BindException e1)
  32.        {
  33.            String mensaje="No se puede arrancar el servido es posible que el puerto "+PUERTO+" este ocupado";
  34.            errorFatal(e1, mensaje);
  35.        }
  36.        catch (java.lang.SecurityException e2)
  37.        {
  38.            String mensaje="No se puede arrancar el servidor es posible que el puerto "+PUERTO+" Tenga restricciones de seguridad";
  39.            errorFatal(e2, mensaje);
  40.        }
  41.        catch (IOException e3)                
  42.        {
  43.            String mensaje="IMposible arrancar el servidor";
  44.            errorFatal(e3, mensaje);
  45.        }
  46.    }
  47.    private void procesarClientes()
  48.    {
  49.        Socket socketCliente =null;
  50.        while (true)
  51.        {
  52.            try
  53.            {
  54.                socketCliente = socketServidor.accept();
  55.                try
  56.                {
  57.                    new ThreadServidor(socketCliente);
  58.                }
  59.                catch (IOException e1)
  60.                {
  61.                    if (socketCliente !=null)
  62.                    {
  63.                        try
  64.                        {
  65.                            socketCliente.close();
  66.                        }
  67.                        catch (IOException e2)
  68.                        {
  69.  
  70.                        }
  71.                    }
  72.                }
  73.            }
  74.            catch (java.lang.SecurityException e3)
  75.            {
  76.                if (socketServidor !=null)
  77.                {
  78.                    try
  79.                    {
  80.                        socketServidor.close();
  81.                    }
  82.                    catch (IOException e4)
  83.                    {
  84.                        //nothing
  85.                    }
  86.                }
  87.                String mensaje="Con su configuracion de seguridad, Los clientes no podran conectarse por el puerto "+PUERTO;
  88.                errorFatal(e3, mensaje);                
  89.            }
  90.            catch (IOException e5)
  91.            {
  92.                //no se hace nada por que no se pudo crear el socket
  93.            }
  94.        }
  95.    }
  96.    public static void errorFatal(Exception excepcion, String mensajeError)
  97.    {
  98.        excepcion.printStackTrace();
  99.        JOptionPane.showMessageDialog(null,"Error Fatal."+System.getProperty("line.separator")+mensajeError,"Informacion Para el usuario",JOptionPane.WARNING_MESSAGE);
  100.        System.exit(-1);
  101.    }
  102. }
  103.  
  104. class ThreadServidor extends Thread
  105. {
  106.    private String nombreCliente;
  107.    private static String historial = "C:historial.txt";
  108.    private static ArrayList clientesActivos = new ArrayList();
  109.    private Socket socket;
  110.    private BufferedReader entrada;
  111.    private PrintWriter salida;
  112.  
  113.    public ThreadServidor(Socket socket) throws IOException
  114.    {
  115.        this.socket = socket;
  116.        PrintWriter salidaArchivo=null;
  117.        salida=new PrintWriter(socket.getOutputStream(),true);
  118.        entrada = new BufferedReader (new InputStreamReader(socket.getInputStream()));
  119.        escribirHistorial("conexion desde la direccion");
  120.        start();        
  121.    }
  122.  
  123.    public void run()
  124.    {
  125.        String textoUsuario="";
  126.        try
  127.        {
  128.            salida.println("> Bienvenido a este chat.");
  129.            salida.println(">introduce tu nombre");
  130.            nombreCliente = (entrada.readLine()).trim();
  131.            if ((nombreCliente.equals(""))||(nombreCliente==null))
  132.            {
  133.                nombreCliente="invitado";
  134.            }
  135.            Iterator it= clientesActivos.iterator();
  136.            while (it.hasNext())
  137.            {
  138.                if (nombreCliente.equals(((ThreadServidor)it.next()).nombreCliente))
  139.                {
  140.                    nombreCliente = nombreCliente + socket.getPort();
  141.                    break;
  142.                }
  143.            }
  144.            anyadirConexion(this);
  145.            salida.println(">Se le asigno el alias de"+nombreCliente);
  146.            socket.setSoTimeout(ServidorChat.TIEMPO_DESCONEXION_AUTOMATICA);
  147.            while ((textoUsuario=entrada.readLine())!=null)
  148.            {
  149.                if (textoUsuario=="DESCONECTAR")
  150.                {
  151.                    salida.println("****************adios************");
  152.                    break;
  153.                }
  154.                else if ((textoUsuario.equals("LISTAR")))
  155.                {
  156.                    escribirCliente (this,">"+clientesActivos());
  157.                }
  158.                else
  159.                {
  160.                    escribirATODOS(nombreCliente+">"+textoUsuario);
  161.                }
  162.            }
  163.        }
  164.        catch (java.io.InterruptedIOException e1)
  165.        {
  166.            escribirCliente(this,">"+"Se paso el tiempo:Conexion Cerrada");
  167.            escribirCliente(this,">"+"Si desea continuar, abra otra sesion");
  168.            escribirHistorial("desconexion Involuntaria por fin de tiempo desde la direccion:");
  169.        }
  170.        catch (IOException e2)
  171.        {
  172.            escribirHistorial("desconexion Involuntaria desde la direccion:");
  173.        }
  174.        finally
  175.        {
  176.            eliminarConexion(this);
  177.            limpiar();
  178.        }
  179.    }
  180.    private void limpiar ()
  181.    {
  182.        if (entrada !=null)
  183.        {
  184.            try
  185.            {
  186.                entrada.close();
  187.            }
  188.            catch(IOException e1)
  189.            {
  190.  
  191.            }        
  192.        }
  193.        if (salida!=null)
  194.        {
  195.            salida.close();
  196.            salida=null;
  197.        }
  198.        if (socket !=null)
  199.        {
  200.            try
  201.            {
  202.                socket.close();
  203.            }
  204.            catch (IOException e2)
  205.            {
  206.  
  207.            }
  208.            socket=null;
  209.        }        
  210.    }
  211.  
  212.    private static synchronized void eliminarConexion(ThreadServidor threadServidor)
  213.    {
  214.        clientesActivos.remove(threadServidor);
  215.    }
  216.  
  217.    private static synchronized void anyadirConexion(ThreadServidor threadServidor)
  218.    {
  219.        clientesActivos.add(threadServidor);
  220.    }
  221.  
  222.    private synchronized void escribirATODOS(String textoUsuario)
  223.    {
  224.        Iterator it=clientesActivos.iterator();
  225.        while (it.hasNext())
  226.        {
  227.            ThreadServidor tmp=(ThreadServidor) it.next();
  228.            if (!(tmp.equals(this)))
  229.  
  230.                escribirCliente(tmp, textoUsuario);
  231.  
  232.        }
  233.  
  234.    }
  235.  
  236.    private synchronized void escribirCliente(ThreadServidor threadServidor,String textoUsuario)
  237.    {
  238.        (threadServidor.salida).println(textoUsuario);
  239.    }
  240.  
  241.    private static synchronized StringBuffer clientesActivos()
  242.    {
  243.        StringBuffer cadena = new StringBuffer();
  244.        for (int i=0;i<clientesActivos.size();i++)
  245.        {
  246.            ThreadServidor tmp = (ThreadServidor) (clientesActivos.get(i));
  247.            cadena.append((((ThreadServidor) clientesActivos.get(i)).nombreCliente)).append("||");
  248.        }
  249.        return cadena;
  250.    }
  251.  
  252.    private synchronized void escribirHistorial(String mensaje)
  253.    {
  254.        PrintWriter salidaArchivo=null;
  255.        try
  256.        {
  257.            salidaArchivo = new PrintWriter(new BufferedWriter(new FileWriter(historial,true)));
  258.            salidaArchivo.println(mensaje+""+socket.getInetAddress().getHostName()+" Por el puerto "+socket.getPort()+" en la fecha "+new Date());
  259.        }
  260.        catch(IOException e1)
  261.        {
  262.            System.out.println("Fallo en el archivo historial.");
  263.        }
  264.        finally
  265.        {
  266.            if (salidaArchivo !=null)
  267.            {
  268.                salidaArchivo.close();
  269.                salidaArchivo=null;
  270.            }
  271.        }
  272.    }
  273. }

La próxima busca mejor los errores :P

Un saludo!
154  Programación / Java / Re: Duda con con codigo chat ayuda!!! en: 26 Marzo 2008, 19:50 pm
Exacto... fue por no poner las etiquetas de code que te borre el post... con respecto al problema, debería ser así la línea 108:

Código:
private static ArrayList clientesActivos = new ArrayList();

O algo por el estilo... además tienes un montón de errores más. Por ejemplo, intentas hacer "string variable" y es "String variable".

Un saludo!
155  Programación / Java / Re: se puede ordenar arrays de objetos?? en: 26 Marzo 2008, 15:42 pm
Debes establecer el método tú mismo si el objeto lo creaste tú mismo. Si es otro tipo de objeto, que pertenezca al API, lo más seguro es que tenga un método ya establecido.

Un saludo!
156  Programación / Java / Re: Estadio de futbol [By Burnhack] en: 25 Marzo 2008, 19:19 pm
Jeje.. bastante curioso...
157  Programación / Java / Re: duda en codigo con array en: 14 Marzo 2008, 15:30 pm
Es que primero dices:

if(romano.length==3)

Y luego:

int e=romano[1];
//no se que
int e=romano[2];
//no se que
int e=romano[3];
//no se que

Pero debería ser

int e=romano[0];
//no se que
int e=romano[1];
//no se que
int e=romano[2];
//no se que


Un saludo!

Citar
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
158  Programación / Java / Re: Ejecutar bloque en segundo plano en: 12 Marzo 2008, 00:22 am
Claro... solo debes ejecutar esa rutina en otro hilo. En este caso es necesario que leas un poco sobre procesamiento múltiple (también llamada programación multi-hilo). Te dejo algunos ejemplos que he hecho:

http://www.casidiablo.net/wordpress/index.php/2007/12/19/java-hilos/
http://www.casidiablo.net/wordpress/index.php/java/

Un saludo!
159  Programación / Java / Re: Terminar Metodos Agenda java(urgente) en: 3 Marzo 2008, 21:07 pm
Modera sin miedo.

Vale.... es que tengo un corazón muy grande :(
160  Programación / Java / Re: Terminar Metodos Agenda java(urgente) en: 3 Marzo 2008, 19:52 pm
Mira, la verdad realizar el ejercicio te concierne solo a ti. Por tanto en esto foro se te colabora con problemas específicos. Por lo visto no has hecho nada para buscar, pero en base al que tienes para eliminar (que estaba mal), te pongo la corrección del mismo, que te ayudará a resolver los demás:

Código:
static void eliminar() throws IOException {
    String nombre;
    System.out.print("Nombre: ");
    nombre = br.readLine();

    for (int i = 0; i < registros.length; i++) {

      if (!registros[i].getNombre().equals(nombre))
        System.out.println("no existe ese registro");

      else
       registros[i]=null;
       System.out.println("El registro ha sido borrado correctamente");
break;
    }

Lo pillas? es necesario que uses adecuadamente los métodos get de las clases Registro y Direccion.

Un saludo!
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ... 65
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines