J'essaie d'envoyer un objet Java sérialisé d'un client à un serveur via le socket, mais il y a une erreur de distribution côté serveur et je n'arrive pas à comprendre pourquoi. La classe en cours de sérialisation est ci-dessous. (. J'utilise Eclipse, et cette classe est à la fois le client package et le package serveur)erreur lors du gonflement d'un objet sérialisé côté serveur
package client; //it is "package server;" on server side
import java.io.Serializable;
public class Simple implements Serializable {
public String msg;
public Simple(){
msg = "simple";
}
}
côté client, je l'ai fait:
Simple obj = new Simple();
Socket socket = new Socket(hostname, portNum);
ObjectOutputStream objOut = new ObjectOutputStream(socket.getOutputStream());
objOut.writeObject(obj);
objOut.flush();
objOut.close();
sur le côté serveur, je l'ai fait :
//already accepted clientSocket
ObjectInputStream objIn = new ObjectInputStream(clientSocket.getInputStream());
Simple anObj = (Simple) objIn.readObject();
System.out.println("from server: " + anObj.msg);
objIn.close();
clientSocket.close();
Cependant, je suis l'erreur:
Exception in thread "main" java.lang.ClassCastException: client.Simple cannot be cast to server.Simple at server.Server.main
J'ai essayé quelque chose de similaire avec le serveur et le client dans un seul paquet, et la sérialisation et l'inflation ont fonctionné. J'apprécierais vraiment si vous pouvez m'aider à découvrir pourquoi cela ne fonctionne pas ici.