Salve a tutti. Sto realizzando a fini di studio una chat in java, ho scritto il client e il server in modo che si scambino messaggi da me definiti da una classe Messaggio nella quale metto tutte le info che mi servono
codice:
public class Messaggio implements Packet, Serializable{
private int tipo;
String contenuto;
String privato; // contiene nick client destinatario
String mittente; // contiene il nick mittente
/** Creates a new instance of Messaggio
prende in input solo il mittente*/
public Messaggio(String m) {
ecc
ecc
Per lo scambio di messaggi invece mi sono creato degli object i/o streams. Ecco la parte ad esempio del server
codice:
server = new ServerSocket( 5000, 100 );
Socket s1 = server.accept();
connection.getInetAddress().getHostName() );
input = new ObjectInputStream(
connection.getInputStream() );
output = new ObjectOutputStream( connection.getOutputStream() );
output.flush();
Messaggio s=new Messaggio("CHATSERVER",3,"Benvenuto,
inserisci il tuo nickname"); // invio richiesta login
I problemi sorgono quando invece che inviare una stringa (che ho provato viene scambiata senza problemi) invio sullo stream un messaggio
codice:
output.writeObject(s);
// s istanza di Messaggio
e quando leggo sul client
Messaggio m=(Messaggio)input.readObject();
Mi viene lanciata una ClassNotFoundException, e non riesco a capire perchè dato che la classe messaggio è implementata tale e quale sia nel server che nel client.
:master:
Grazie per il vostro aiuto in anticipo.