devolver mensaje
Publicado por Charly (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:
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
0