Enviar objeto por Socket TCP

4 respostas
S

Bom dia, gostaria de saber como enviar um objeto por exemplo (Produto) pelo socket tcp.

preciso fazer uma aplicação com hibernate, que vai funcionar no Client e o Server. o mapeamento do hibernate ficaria só no server. enquanto as 2 aplicações compartilhariam os beans.

att.

4 Respostas

E

Você pode, usando ObejectStream.

Seria algo como:

ObjectOutputStream stream = new ObjectOutputStream(socket.getOutputStream());

stream.writeObject(myObjectInstance);

Do outro lado, você desserializa usando ObjectInputStream.

Tome cuidado Lazy Fetchs da vida.

M

Use ObjectOutputStream. Exemplo:

// Servidor
ServerSocket ss = new ServerSocket(12345);
Socket s = ss.accept();
ObjectInputStream ois = new ObjectInputStream(s.getInputStream());
Obj obj = (Obj) ois.readObject();
System.out.println(obj);
ss.close();
//Cliente
Socket s = new Socket("localhost", 12345);
ObjectOutputStream oos = new ObjectOutputStream(s.getOutputStream());
Obj obj = new Obj();
obj.x = 10;
obj.y = "teste";
oos.writeObject(obj);
s.close();

[]'s

M

Faltou a classe Obj rss

import java.io.Serializable;

public class Obj implements Serializable {
	private static final long serialVersionUID = 1L;
	int x;
	String y;
	
	@Override
	public String toString() {
		return x + y;
	}
}
S

thanks guys

Criado 5 de junho de 2013
Ultima resposta 5 de jun. de 2013
Respostas 4
Participantes 3