Java - Como enviar dos objetos a traves de un socket?

 
Vista:
sin imagen de perfil

Como enviar dos objetos a traves de un socket?

Publicado por enrique (6 intervenciones) el 03/12/2018 01:54:07
tengo un pequeño inconveniente referente a el tema de serversockets y es que deseo enviar dos objetos a traves de socket al servidor desde la clase cliente el cual contiene dos variables enteras para realizar suma en el servidor y que la misma devuelva la respuesta. dejo el codigo de como estoy realizando el envio y recibo de datos

CLASE CLIENTE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
try{
    Socket ConectarAServidor = new Socket("localhost",1230);
    DesdeServidor = new DataInputStream(ConectarAServidor.getInputStream());
    ParaServidor = new DataOutputStream(ConectarAServidor.getOutputStream());
    Scanner teclado = new Scanner(System.in);
    System.out.println("Introduzca primer numero: ");
    String numeroa = teclado.nextLine();
    int numa = Integer.parseInt(numeroa);
    System.out.println("Introduzca segundo numero: ");
    String numerob = teclado.nextLine();
    int numb = Integer.parseInt(numerob);
    ParaServidor.writeDouble(numa);
    ParaServidor.writeDouble(numb);
    int suma = DesdeServidor.readInt();
    System.out.println("Primer numero: "+numa);
    System.out.println("\nSegundo numero: "+numb);
    System.out.println("Suma recibida: "+suma);
}catch(Exception e){
    System.err.println(e);
}

CLASE SERVIDOR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
try {
    Socket connectToServer = new Socket("localhost", 1234);
    isFromServer = new DataInputStream(connectToServer.getInputStream());
    osToServer = new DataOutputStream(connectToServer.getOutputStream());
    Scanner teclado = new Scanner(System.in);
    System.out.println("Introduzca el radio: ");
    String cadena = teclado.nextLine();
    double radius = Double.parseDouble(cadena.trim());
    osToServer.writeDouble(radius);
    osToServer.flush();
    double area = isFromServer.readDouble();
    System.out.println("Radio es "+radius);
    System.out.println("Area recibido desde el servidor es "+area+"\n");
} catch (Exception e) {
    System.err.println(e);
}
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

Como enviar dos objetos a traves de un socket?

Publicado por Octavio Vindas Mesen (1 intervención) el 18/06/2022 05:49:51
es tarde pero el enviar varios datos por sockets se puede lograr enviando un hashmap de java como objeto, esto es posible al objectOutputStream que permite llevar objetos como clases y demas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar