I'm trying to use ProtocolBuffers over a NetworkStream but the messages are 
never fully received.

Here is my server:

var listener = new TcpListener(System.Net.IPAddress.Any, 4989);
listener.Start();

while (true)
{
    var client = listener.AcceptTcpClient();
    Task.Factory.StartNew(() =>
    {
        var message = ServerMessage.Parser.ParseFrom(client.GetStream());
        Console.WriteLine(message);
    });
}Here is my client:

Thread.Sleep(2000);//Wait for server to start

var client = new TcpClient();
client.Connect("localhost", 4989);

while (true)
{
    var message = new ServerMessage
    {
        Time = (ulong)DateTime.UtcNow.Ticks,
        Type = MessageType.Content
    };
    message.WriteTo(client.GetStream());

    Thread.Sleep(1000);
}


A full repro solution is available here: 
https://github.com/IanPNewson/ProtobufNetworkStreamIssue

What's going wrong?

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to protobuf+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/bc6de9dd-2849-4a22-838a-4e46e06724a3n%40googlegroups.com.

Reply via email to