programa con sockets

que tal amigos acudiendo a ustedes para resolver mi duda, la idea es que al presionar el boton enviar del lado del cliente lo haga n veces, al momento solo he logrado que lo haga una vez, creo el error esta que después de hacerlo una vez cierra la conexion con el servidor.
He leeido que debe ser con un while (true) pero no se bien como aplicarlo , alguna idea ?

 

///// Servidor
 

AdjuntoTamaño
cliente.rar2.28 KB

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

dos cosas

Del lado del servidor, parece que solamente aceptas una conexión, no hay un ciclo donde aceptes conexiones y despaches cada una en un hilo.

Del lado del cliente, parece que solamente abres un socket y para enviar datos creas un OutputStream nuevo pero sobre el stream del socket, la bronca es que luego lo cierras y eso causa que se cierre el stream del socket. Si vas a hacerlo así, necesitas cerrar completamente el socket y crear uno nuevo (pero para eso, el servidor debe aceptar más conexiones).

Revisa en mi blog un post muy viejo de java.io y java.nio, trae ejemplos de sockets simples cliente/servidor.

Imagen de puzzlemaniaco

ok gracias lo checare

ok gracias lo checare

Imagen de puzzlemaniaco

Si coloco un cilo while el

Si coloco un cilo while el servidor escucha varias veces pero no pinta en la interfaz lo que le envia el cliente , es asi el proceso?
 

Del lado del cliente coloco lo siguiente a eso te referías con cerrar el socket completamente?, leei tu post pero no me quedo claro, sigo cometiendo el mismo error? ,
 

Imagen de beto.bateria

Los metodos: separaDatos (

Los metodos:
separaDatos ( );
estableceDatos ( );
enviaDatos();
¿Como obtienen el stream para leer la informacion o mandarla?

Imagen de puzzlemaniaco

Del constructor imagino que

Del constructor imagino que ahí ha de estar el problema
 
y los otros dos
 

Imagen de beto.bateria

¿Podrias mandar a imprimir en

¿Podrias mandar a imprimir en pantalla la variable sr1? para asegurar de que llega la informacion.

Imagen de puzzlemaniaco

gracias ya lo solucione

gracias ya lo solucione

Imagen de beto.bateria

¿podrias ayudar a la

¿podrias ayudar a la comunidad poniendo tu solucion?

Imagen de puzzlemaniaco

de esta forma

public void conectaSocket()
{
try
{
skServidor = new ServerSocket( PUERTO );
try
{
skCliente = skServidor.accept();
aux = skCliente.getInputStream();
flujo = new DataInputStream( aux );
while(true)
{
try
{
s=flujo.readUTF();
System.out.println(s);
separaDatos ( );
estableceDatos ( );
}
catch(IOException e)
{
try
{
skCliente.close();
flujo.close();
}
catch(IOException es)
{
}
}
}
}
catch( Exception e )
{
System.out.println( "conexion cerrada por el server "+e.getMessage() );
}
}
catch( Exception e )
{
System.out.println( "conexion cerrada por el server "+e.getMessage() );
}
}
Por cierto ahora tengo una duda con pasar estos datos a un JTable en otro post tengo el problema haber si pueden hehcarme una mano con eso.