Ayuda con Threads(Hilos) en Java para aplicacion de Interfaz Grafica

Imagen de colombiano
0 puntos

Hola que tal como estan, me llamo Jorge y pues estoy estudiando para ingeniero en tecnologias de informacion y comunicaciones. Actualmente ando desarrollando aplicaciones en Java bajo Ubuntu, utilizando el Netbeans por supuesto.

Hace unas 2 semanas elabore dos programas usando sockets principalmente para establecer una conversación tipo chat entre 2 computadoras en una red local, esto logre hacerlo utilizando un Thread que me manejara en cada computadora  un tipo "recibidor de mensajes" en donde siempre escuchaba a la otra computadora cualkier mensaje que se envie para que lo desplegara en pantalla utilizando claro un programa servidor y un programa cliente.

El seudo-codigo es mas o menos asi:

public class ServidorChat extends javax.swing.JFrame

{

   ...// todos los metodos que generan los componentes graficos

   private void INIActionPerformed(java.awt.event.ActionEvent evt)

   { recibirmensajesdelcliente Iniciar=new recibirmensajesdelcliente();
                Thread=new Thread(Iniciar,"Escucho e imprimo los mensajes del clietne");
                Thread.start();   

    }

   private class recibirmensajesdelcliente extends Thread

     {

         //Metodo run que recibe mensajes

      }

}

Mi problema es el siguiente:

Estoy intentando añadir funcionalidad tambien de ademas enviar bytes ademas de mensajes de texto para poder enviar un archivo de una computadora a otro, sin embargo para esto necesito otro Hilo que mantenga escuchando al servidor o cliente cuando se le envia un archivo desde otra computadora sin ciclarla, esto sucede basicamente porque dejo otro hilo escuchando los mensajes de texto, pero ¿no hay alguna manera de poder dejar ambos hilos o bien Threads funcionando simultaneamente?, ¿como puedo hacer esto?

Por favor si alguien me podria ayudar con mi problema se lo agradeceria mucho, para mi bastaria con eso de tener mas de un thread corriendo a la vez, no tengo mucho tiempo en java y apenas ando aprendiendo, bueno grasias, no les quito mas tiempo.

Saludos

 

Imagen de slap
+1
0
-1

Hola.
En java puedes tener todos los threads que quieras funcionando simultáneamente.
No entiendo bien cual es tu problema.

Saludos.

+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es

Imagen de colombiano
+1
0
-1

Simplemente despues de iniciar el segundo thread este ya no me responde, eso lo hago de la siguiente manera:

{

Thread1.start();

Thread2.start();

 }

eso fue lo que hice al principio, puse ese segmento de codigo para que se ejecutara al oprimir un boton, y como el Thread2 simplemente no funciono ocmo si no hubiera estado ahi, probe ponerlo en otro boton diferente, pero tampoco funciono, el resultado fue el mismo.

gracias.Saludos.

+1
0
-1

____________________________________

Jorge
Estudiante en TI
pagina-web por diversion: http://crazyvids.org
pagina-web de programacion:codigoprogramacion.com

Imagen de slap
+1
0
-1

Comprueba que no sea otro el problema. Es decir, asegúrate si el thread está o no funcionando (con Thread1.isAlive() desde el proceso que lo creó) y mira si lo que ocurre es que se te queda bloqueado en alguna zona de su código.

En principio (y sin ver el código completo) no debería ser problema de la creación de los Threads.

Saludos.

+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es

Imagen de slap
+1
0
-1

Lo que veo un poco raro es cómo creas los threads:

recibirmensajesdelcliente Iniciar=new recibirmensajesdelcliente();
Thread=new Thread(Iniciar,"Escucho e imprimo los mensajes del clietne");
Thread.start();

}

private class recibirmensajesdelcliente extends Thread

{

//Metodo run que recibe mensajes

}

¿Por qué no haces directamente:

Iniciar.start();

?

+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es