Я пытаюсь узнать сокеты udp и т. Д. Я создал два сервера и клиентских программ. Клиент отправляет пакет на сервер, сервер отскакивает от него.Не удается десериализовать объект, когда он отправлен в виде пакета
Это код, который я использую в обеих программах для преобразования данных в и из байта []
, но я получаю сообщение об ошибке при преобразовании из байт []
public static Packet Open(byte[] b)
{
MemoryStream memStream = new MemoryStream();
BinaryFormatter binForm = new BinaryFormatter();
memStream.Write(b, 0, b.Length);
memStream.Seek(0, SeekOrigin.Begin);
object obj = new object();
try
{
// this line here is where the error is occurring
obj = (object)binForm.Deserialize(memStream);
}
catch (Exception er)
{
MessageBox.Show(er.Message);
}
if (obj is Packet)
return (Packet)obj;
else
return null;
}
public byte[] Bundle()
{
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
bf.Serialize(ms, this);
return ms.ToArray();
}
Если я это все из одной программы она работает
Packet p =new Packet();
p.Message="hello";
byte[] data = p.Bundle();
Packet p2 = Packet.Open(data);
MessageBox.Show(p2.Message);
ошибка я получаю это «не удается найти сборку в„имя моего клиента программы“
AnyIdeas?
Это звучит как моя проблема. Я не хочу использовать третью вещь, я пытаюсь научиться ее делать. Поэтому мне пришлось бы написать класс, превратить его в dll и ссылаться на него в обоих приложениях, это правильно –