Olá pessoal. Estou precisando de uma ajuda aqui.
Estou fazendo um trabalho aqui e estou precisando enviar um objeto do cliente para o servidor.
O objeto deve ser o mesmo, obviamente. Então, tanto servidor como cliente tem a mesma implementação.
O objeto é o seguinte:
class Voto implements Serializable {
private static final long serialVersionUID = 7503368771944847788L;
public int codigoCandidato;
public int codigoEleitor;
public Voto(final int celeitor, final int ccandidato) {
this.codigoCandidato = ccandidato;
this.codigoEleitor = celeitor;
}
}
No cliente eu envio com o código:
Socket client = new Socket(SERVER, SERVERPORT); // ta ok, se for string ele envia de boa
output = new ObjectOutputStream(client.getOutputStream());
output.flush();
output.writeObject(voto); // com um objeto voto ja inicializado
output.flush();
output.close();
o servidor recebe assim:
private ServerSocket server;
private Socket connection;
private Voto message;
server = new ServerSocket(SERVERPORT);
connection = server.accept();
ObjectInputStream input = new ObjectInputStream(connection.getInputStream());
message = (Voto) input.readObject();
Bom… acho q isso resume a parte q ta dando pau!
Qdo o objeto é um String em vez de Voto, essa implementação funciona que é uma beleza. Contudo, quando peço para enviar o objeto que preciso tenho o erro:
java.lang.ClassCastException: client.Voto cannot be cast to server.Voto
Mas a implementacao da classe Voto é exatamente a MESMA (inclusive com o msm serialVersionUID) em ambas as classes (cliente e servidor).
O que estou fazendo de errado???
Me ajudem, por favor!
