Java - devolver mensaje

   
Vista:
Imágen de perfil de Charly

devolver mensaje

Publicado por Charly cdum77@hotmail.com (118 intervenciones) el 26/11/2017 11:42:29
Estoy creando un programa Java con sockets en el que el servidor envía un mensaje al cliente y el cliente tiene que devolverlo al servidor.
Lo que me falla es que, o se lo mando mal desde el cliente (de vuelta), o el servidor lo recibe mal con los streams que he puesto.
Pongo los códigos de los dos archivos:
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
32
import java.io.*;
import java.net.*;
public class Servidor{
	public static void main(String[] args) throws IOException{
		int numeroPuerto=6000;//Puerto
		ServerSocket servidor=new ServerSocket(numeroPuerto);
		Socket clienteConectado=null;
		System.out.println("Esperando al cliente...");
		clienteConectado=servidor.accept();
		//CREO FLUJO DE SALIDA AL CLIENTE
		OutputStream salida=null;
		salida=clienteConectado.getOutputStream();
		DataOutputStream flujoSalida=new DataOutputStream(salida);
		//ENVIO UN SALUDO AL CLIENTE
		String cadena="123";
		flujoSalida.writeUTF(cadena);
		System.out.println("Enviando al cliente: "+cadena);
		//CREO FLUJO DE ENTRADA DEL CLIENTE
		InputStream entrada=null;
		entrada=clienteConectado.getInputStream();
		DataInputStream flujoEntrada=new DataInputStream(entrada);
		//EL CLIENTE ME ENVIA UN MENSAJE
		System.out.println("Recibiendo del CLIENTE: \t\n"+flujoEntrada.readUTF());
		//CERRAR STREAMS Y SOCKETS
		entrada.close();
		flujoEntrada.close();
		salida.close();
		flujoSalida.close();
		clienteConectado.close();
		servidor.close();
	}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.io.*;
import java.net.*;
public class Cliente{
	public static void main(String[] args) throws IOException{
		String Host="localhost";
		int Puerto=6000;//Puerto remoto
		System.out.println("PROGRAMA CLIENTE INICIADO...");
		Socket Cliente=new Socket(Host,Puerto);
		//CREO FLUJO DE ENTRADA AL SERVIDOR
		DataInputStream flujoEntrada=new DataInputStream(Cliente.getInputStream());
		//EL SERVIDOR ME ENVIA UN MENSAJE
		System.out.println("Recibiendo del SERVIDOR: \n\t"+flujoEntrada.readUTF());
		//CREO FLUIJO DE SALIDA AL SERVIDOR
		DataOutputStream flujoSalida=new DataOutputStream(Cliente.getOutputStream());
		//ENVIO UN SALUDO AL SERVIDOR
		String cadena=flujoEntrada.toString();
		flujoSalida.writeUTF(cadena);
		//CERRAR STREAMS Y SOCKETS
		flujoEntrada.close();
		flujoSalida.close();
		Cliente.close();
	}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder