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
Adjunto | Tamaño |
---|---|
cliente.rar | 2.28 KB |
- Inicie sesión o regístrese para enviar comentarios
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.
ok gracias lo checare
ok gracias lo checare
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? ,
Los metodos: separaDatos (
Los metodos:
separaDatos ( );
estableceDatos ( );
enviaDatos();
¿Como obtienen el stream para leer la informacion o mandarla?
Del constructor imagino que
Del constructor imagino que ahí ha de estar el problema
y los otros dos
¿Podrias mandar a imprimir en
¿Podrias mandar a imprimir en pantalla la variable sr1? para asegurar de que llega la informacion.
gracias ya lo solucione
gracias ya lo solucione
¿podrias ayudar a la
¿podrias ayudar a la comunidad poniendo tu solucion?
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.