C# grpc-серверная потоковая передача RPC. Клиент получил первое сообщение только со вторымC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 C# grpc-серверная потоковая передача RPC. Клиент получил первое сообщение только со вторым

Сообщение Anonymous »

Я пытаюсь внедрить потоковую передачу RPC на стороне сервера для отправки сообщений с сервера на клиент. < /p>

rpc CheckSystem(CheckSystemRequest) returns (stream CheckSystemResponse) {}
< /code>

код сервера: < /p>

public override Task CheckSystem(CheckSystemRequest request, IServerStreamWriter responseStream, ServerCallContext context) {
return Task.Run(async () => {
for(int i = 1; i

Клиентский код: < /p>

public static async Task TestAsync() {
try {
using (var call = client.CheckSystem(new CheckSystemRequest { Code = "1" })) {
var responseStream = call.ResponseStream;
while (await responseStream.MoveNext()) {
var current = responseStream.Current;
Console.WriteLine($"{DateTime.Now}: Received: Type = {current.Type}");
}
}
}
catch (Exception ex) {
Console.WriteLine(ex.Message);
}
}
< /code>

После запуска я вижу, что на стороне сервера сообщение отправляется каждые 10 секунд.
Screenshot #1. < /p>

13.12.2019 **16:31:31**: Sent 1
13.12.2019 **16:31:41**: Sent 2
13.12.2019 16:31:51: Sent 3
13.12.2019 16:32:01: Sent 4
13.12.2019 16:32:11: Sent 5
13.12.2019 16:32:21: Sent 6
13.12.2019 16:32:31: Sent 7
13.12.2019 16:32:41: Sent 8
13.12.2019 16:32:51: Sent 9
13.12.2019 16:33:01: Sent 10
< /code>

Но клиент начинает обрабатывать первое сообщение только после того, как сервер отправляет второе.
Screenshot #2 < /p>

13.12.2019 **16:31:41**: Received: Type = 1
13.12.2019 **16:31:41**: Received: Type = 2
13.12.2019 16:31:51: Received: Type = 3
13.12.2019 16:32:01: Received: Type = 4
13.12.2019 16:32:11: Received: Type = 5
13.12.2019 16:32:21: Received: Type = 6
13.12.2019 16:32:31: Received: Type = 7
13.12.2019 16:32:41: Received: Type = 8
13.12.2019 16:32:51: Received: Type = 9
13.12.2019 16:33:01: Received: Type = 10
< /code>

Что может быть причиной такого поведения? И как это можно исправить?

Подробнее здесь: https://stackoverflow.com/questions/593 ... message-on
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Потоковая потоковая передача видео с камеры FLIR с помощью Python
    Anonymous » » в форуме Python
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • Потоковая потоковая передача Polars: Parquet Parquet на основе Shift (-1)
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Потоковая передача gRPC в отдельном процессе зависает
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Двунаправленная потоковая передача gRpc зависает при большом количестве сообщений
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Ошибка gRPC: io.grpc.StatusRuntimeException: ОТМЕНЕНО: io.grpc.Context был отменен без ошибки
    Гость » » в форуме JAVA
    0 Ответы
    114 Просмотры
    Последнее сообщение Гость

Вернуться в «C#»