Este es el código del servidor:
Código c#:
Ver original
public void enviar() { try { //Hago la coneccion al socket, todo perfecto hasta aqui //Creo el objeto para enviar Persona p = new Persona(12345, "Juan Perez", "22222222"); NetworkStream tream = new NetworkStream(socket); StreamReader reader = new StreamReader(stream); StreamWriter writer = new StreamWriter(stream); BinaryFormatter bf = new BinaryFormatter(); Console.WriteLine("Sending data to server..."); bf.Serialize(stream, p); //Leo la respuesta del servidor //Cierro los stream y sockets } catch (Exception ex) { Console.WriteLine("An error has ocurred while connecting to the server."); } }
Y aquí el código del servidor:
Código c#:
Ver original
public void recibir() { try { //Establezco la conexion con el cliente. while (true) { //Acepto la conexion, hasta aqui todo perfecto. NetworkStream stream = new NetworkStream(socket); StreamReader reader = new StreamReader(stream); StreamWriter writer = new StreamWriter(stream); BinaryFormatter bf = new BinaryFormatter(); Console.WriteLine("Reading client data"); Persona p = (Persona)(bf.Deserialize(stream)); //Envio la respuesta al cliente //Cierro los stream y sockets } } catch (Exception ex) { Console.WriteLine("An error has ocurred while executing the server."); } }
El problema es que del lado del sevidor, me genera una excepcion (System.Runtime.Serialization.SerializationExcepti on) cuando intento deserializar el objeto ¨Persona¨.
Cabe mencionar que la clase Persona está marcada como serializable, así que dudo que sea por eso.
Si alguien sabe como resolver esto, agradezco mucho su ayuda.