Fecha y hora actual: Lunes 23 Sep 2019 10:59
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

Consulta sobre Sockets - Cliente Servidor

Responder al Tema

Índice del Foro > Java > Consulta sobre Sockets - Cliente Servidor

Autor Mensaje
Dante Uechi



Registrado: 17 Oct 2016
Mensajes: 2
Ubicación: Lima - Peru

Mensaje Publicado: Martes 18 Oct 2016 01:37

Título del mensaje: Consulta sobre Sockets - Cliente Servidor

Responder citando

Hola a todos

Una consulta de principiante, estoy probando unos programas de Cliente Servidor, los cuales estoy usando de base para un proyecto que tengo.

El objetivo es poder leer los datos que manda un equipo vía TCP/IP
Primero hago la simulación con un programa ("Hercules") donde puedo configurar como cliente TCP, la IP y el puerto; y mandar datos. Pero en el programa (Servidor) no visualizo nada hasta que cierro la conexion del cliente. Porque es mi consulta?

Adjunto el codigo:


public class EcoServidor {
public static final int PORT = 4444;

public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub

ServerSocket socketServidor = null;
try {
socketServidor = new ServerSocket(PORT);
} catch (IOException e) {
System.out.println("No puede escuchar en el puerto: " + PORT);
System.exit(-1);
}

Socket socketCliente = null;
BufferedReader entrada = null;
PrintWriter salida = null;

System.out.println("Escuchando: " + socketServidor);
try {
// Se bloquea hasta que recibe alguna petición de un cliente
// abriendo un socket para el cliente
socketCliente = socketServidor.accept();
System.out.println("Connexión acceptada: "+ socketCliente);
// Establece canal de entrada
entrada = new BufferedReader(new InputStreamReader(socketCliente.getInputStream()));
// Establece canal de salida
salida = new PrintWriter(new BufferedWriter(new
OutputStreamWriter(socketCliente.getOutputStream())),true);

// Hace eco de lo que le proporciona el cliente, hasta que recibe "Adios"
while (true) {
String str = entrada.readLine();
System.out.println("Cliente: " + str);
salida.println(str);
if (str.equals("Adios")) break;
}

} catch (IOException e) {
System.out.println("IOException: " + e.getMessage());
}
salida.close();
entrada.close();
socketCliente.close();
socketServidor.close();
}

}


///
adjunto tambien la respuesta que tengo del servidor:
Escuchando: ServerSocket[addr=0.0.0.0/0.0.0.0,localport=4444]
Connexión acceptada: Socket[addr=/10.12.20.130,port=56903,localport=4444]
Cliente: Hey>QED34;jj<Adios
Cliente: null
Exception in thread "main" java.lang.NullPointerException
at dan.EcoServidor.main(EcoServidor.java:40)



Espero me puedan resolver esta duda, para seguir con mis pruebas.



Saludos

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Pico
Usuario Activo


Registrado: 25 Jun 2013
Mensajes: 628

Mensaje Publicado: Martes 18 Oct 2016 10:34

Título del mensaje: Consulta sobre Sockets - Cliente Servidor

Responder citando

Parece que es porque está todo en el mismo hilo. Si tienes el hilo bloqueado en el accept no va ha ponerse a sacar nada por la pantalla.

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Dante Uechi



Registrado: 17 Oct 2016
Mensajes: 2
Ubicación: Lima - Peru

Mensaje Publicado: Martes 18 Oct 2016 15:58

Título del mensaje: Consulta sobre Sockets - Cliente Servidor

Responder citando

Gracias por la pronta respuesta

Voy a revisar el tema de los hilos.
Si entendí bien, seria mejor entonces usar un hilo para escuchar y otro para mostrar los datos, para que no se quede bloqueado?

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

Consulta sobre un tipo de PLUGIN para insertar ...

Federico Jose Temas generales 1 Sábado 08 Sep 2018 18:57 Ver último mensaje
El foro no contiene ningún mensaje nuevo

CONSULTA SOBRE QUE LENGUAJE DE PROGRAMACION UTI...

Federico Jose Temas generales 3 Sábado 01 Sep 2018 13:23 Ver último mensaje
El foro no contiene ningún mensaje nuevo

TCP_SERVER y aperturas de Sockets.

BELLOTO_ C, C#, Visual C++ 2 Miércoles 24 May 2017 16:53 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Altas, bajas, consulta, listado...

Yulisa Java 1 Martes 16 May 2017 15:38 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Problema al subir icon al servidor

eugeniocol HTML y CSS 1 Lunes 20 Feb 2017 22:19 Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,