Использование NetworkStream и protobuf-net TCPClient Я отправляю и получаю сообщения protobuf через TCP.Как обрабатывать входящее сообщение protobuf
Видел подобный вопрос: How to properly handle incoming protobuf message with a NetworkStream?
Но в моем случае может быть только один тип сообщения, поэтому я не думаю, что я нужен распознаватель.
Поэтому я сериализовал свой объект и отправил его с помощью tcp/ip, на моем сервере я пытаюсь десериализовать его и получить исключение io: невозможно прочитать данные из транспортного соединения.
Клиент:
...
using (var ms = new MemoryStream())
{
Serializer.Serialize(ms, person);
data = ms.ToArray();
}
NetworkStream stream = client.GetStream();
stream.Write(data, 0, data.Length);
Сервер:
...
Byte[] bytes = new Byte[256];
String data = null;
while(true)
{
Console.Write("Waiting for a connection... ");
TcpClient client = server.AcceptTcpClient();
Console.WriteLine("Connected!");
data = null;
NetworkStream stream = client.GetStream();
Person newPerson = Serializer.Deserialize<Person>(stream);<--- exeption
}