Buenas tardes a todos ;D. La question esque tengo una duda con lo que respecta a el envio de objetos a traves de un socket. Utilizo el ObjectInputStream y el ObjectOutputStream para enviar y recibir, pero me salta la excepcion.
Aqui os pongo la clase que instanciada deseo pasar:
class DatosUsuario implements java.io.Serializable{
private String user;
private char[] pass;
public DatosUsuario(String user, char[] pass){
this.user=user;
this.pass=pass;
}
public DatosUsuario(DatosUsuario a){
this.pass=a.pass;
this.user=a.user;
}
public String getUser(){
return user;
}
public char[] getPass(){
return pass;
}
}
Pero cuando intento hacer un writeObject me arroja el error: java.lang.ClassNotFoundException
Gracias de antemano.
no uses sockets usa rmi te ase esas cosas muy faciles
Hola:
¿Dónde te salta la excepción? ¿en el write o al hacer el read de ese Object en el otro lado?
En el lado del write no lo entiendo, porque no debería haber ese tipo de problemas. Si es en el read(), es posible que no hayas puesto la clase que vas a recibir en el classpath de ese ejecutable que recibe.
Se bueno.
Los streams me los coge bien, me salta la exception cuando intento leer el objecto.
Pues lo dicho, posiblemente en la parte del ejecutable que lee no esté esa clase en el classpath.
Se bueno.
Podrias explicarte un poco mejor.....
Tienes dos ejecutables java, uno es el que envía y otro el que recibe. La clase que envías de un lado a otro es un .class. Pues bien, ese .class tiene que estar en el classpath de ambos ejecutables.
Concretando más, si has hecho, por ejemplo, dos proyectos de eclipse/netbeans, uno para el ejecutable que envía y otro para el ejecutable que recibe, la clase que envías debe estar en ambos proyectos.
Si no está en el proyecto del que escribe, pues simplemente no compilaría, no puedes hacer new de esa clase para enviarla, ya que no está en el proyecto, es como si no existiera.
Si no está en el proyecto que recibe, depende como lo hagas, sí puede compilar, pero en ejecución, cuando el socket la intente leer, no pordrá reconstruirla, porque no tiene esa clase por ningún lado y el error, en tiempo de ejecución, será ClassNotFound.
Se bueno.
Chuidiang el grande nos asiste!
Que sepas que sigo todos tus tutos y articulos!
Saludos
bueno, bueno, que me voy a poner colorao :P ....
Se bueno.
Gracias por tu respuesta.