Serialize with BinaryFormatter
-
Hello, I have a strange problem. I want to send some objectes over Ethernet (UDP One packet is one object) After that I Deserialize the data, but I get allways an exception that there is an Invalid binaryheader. I don't have any idea how I can solve it. my code is
int size = socket.Receive(buf); BinaryFormatter serializer; MemoryStream^ ms = gcnew MemoryStream(buf,0,size); ms->Seek(0, SeekOrigin::Begin); LogMessage^ logMessage = (LogMessage^)serializer.Deserialize(ms); Console::WriteLine("{0}", logMessage->ToString()); ms->Close();
and the sending function:MemoryStream^ ms = gcnew MemoryStream(); //XmlSerializer serializer(LogMessage::typeid); BinaryFormatter serializer; serializer.Serialize(ms, logMessage); ms->Flush(); ms->Seek(0, SeekOrigin::Begin); array^ data = ms->ToArray(); socket->Send(data); ms->Close();
I have checked the MemoryStream and there is the whole data available (Sending and receiving) Best regards Hansjörg