C# 如何配置GRPC双向流以在.NET中发送字节

C# 如何配置GRPC双向流以在.NET中发送字节,c#,.net,protocol-buffers,grpc,C#,.net,Protocol Buffers,Grpc,我正试图通过双向流发送几千字节的消息。我正在测试流来回发送数据的速度,但当我尝试写入时,我似乎无法获得要显示的实际值。理想情况下,我希望流尽可能快地来回发送KB,但目前我无法让它显示出来。当我尝试运行时,我得到Google.Protobuf.ByteString 以下是原型: service Racer { rpc ReadySetGo (stream RaceMessageRequest) returns (stream RaceMessageReply); } message Race

我正试图通过双向流发送几千字节的消息。我正在测试流来回发送数据的速度,但当我尝试写入时,我似乎无法获得要显示的实际值。理想情况下,我希望流尽可能快地来回发送KB,但目前我无法让它显示出来。当我尝试运行时,我得到Google.Protobuf.ByteString

以下是原型:

service Racer {
  rpc ReadySetGo (stream RaceMessageRequest) returns (stream RaceMessageReply);
}

message RaceMessageRequest {
  int32 countRequest = 1;
  bytes byteRequest = 2;
}

message RaceMessageReply{
    int32 countReply = 1;
    bytes byteReply = 2;
}
以及服务:

public override async Task ReadySetGo(
  IAsyncStreamReader<RaceMessageRequest> requestStream, 
  IServerStreamWriter<RaceMessageReply> responseStream,
  ServerCallContext context)
{
  ////////////////////////////////////
  //Creating a stream
  await foreach (var request in requestStream.ReadAllAsync())
  {
    var helloReply = new RaceMessageReply { CountReply = 25 + request.CountRequest };

    await responseStream.WriteAsync(helloReply);
  }

  //testing the binary data streaming
  await foreach (var request in requestStream.ReadAllAsync())
  {
    var hellobytes = new RaceMessageReply { ByteReply = ByteString.CopyFrom((byte)request.CountRequest) };

    await responseStream.WriteAsync(hellobytes);
  }
  ///////////////////////////////
byte[] bytes = BitConverter.GetBytes(10000);

      using var call = client.ReadySetGo();
      while (true)
      {
        // Send and receive messages over the stream
        await call.RequestStream.WriteAsync(new RaceMessageRequest { CountRequest = 24 });
        await call.RequestStream.WriteAsync(new RaceMessageRequest { ByteRequest = ByteString.CopyFrom(bytes) });
        await call.ResponseStream.MoveNext();

        //Console.WriteLine($"Greetings testing the basic format: {call.ResponseStream.Current.CountReply}");
        Console.WriteLine($"Greetings testing Byte stream: {call.ResponseStream.Current.ByteReply.ToString()}");

        Console.ReadKey();
      }