Enviar objeto por Socket TCP

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.

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.

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

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;
	}
}

thanks guys