Autor
|
Tema: Sockets (Leído 3,930 veces)
|
nerckos
Desconectado
Mensajes: 18
|
|
Sockets
« en: 28 Abril 2010, 17:52 pm » |
|
Buenas tardes a todos . 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.
|
|
|
En línea
|
|
|
|
sapito169
Desconectado
Mensajes: 628
|
|
Re: Sockets
« Respuesta #1 en: 28 Abril 2010, 18:46 pm » |
|
no uses sockets usa rmi te ase esas cosas muy faciles
|
|
|
En línea
|
|
|
|
Chuidiang
|
|
Re: Sockets
« Respuesta #2 en: 29 Abril 2010, 20:42 pm » |
|
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.
|
|
|
En línea
|
|
|
|
nerckos
Desconectado
Mensajes: 18
|
|
Re: Sockets
« Respuesta #3 en: 30 Abril 2010, 17:13 pm » |
|
Los streams me los coge bien, me salta la exception cuando intento leer el objecto.
|
|
|
En línea
|
|
|
|
Chuidiang
|
|
Re: Sockets
« Respuesta #4 en: 30 Abril 2010, 17:47 pm » |
|
Pues lo dicho, posiblemente en la parte del ejecutable que lee no esté esa clase en el classpath.
Se bueno.
|
|
|
En línea
|
|
|
|
nerckos
Desconectado
Mensajes: 18
|
|
Re: Sockets
« Respuesta #5 en: 30 Abril 2010, 22:27 pm » |
|
Podrias explicarte un poco mejor.....
|
|
|
En línea
|
|
|
|
Chuidiang
|
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.
|
|
« Última modificación: 1 Mayo 2010, 06:48 am por Chuidiang »
|
En línea
|
|
|
|
Debci
Wiki
Desconectado
Mensajes: 2.021
Actualizate o muere!
|
Chuidiang el grande nos asiste! Que sepas que sigo todos tus tutos y articulos!
Saludos
|
|
|
En línea
|
|
|
|
Chuidiang
|
bueno, bueno, que me voy a poner colorao .... Se bueno.
|
|
|
En línea
|
|
|
|
nerckos
Desconectado
Mensajes: 18
|
Gracias por tu respuesta.
|
|
|
En línea
|
|
|
|
|
|