Исключение потока GRPC .NET CORE

#.net-core #grpc-c#

Вопрос:

Я работаю в чате .NET Core с использованием gRPC (двунаправленная потоковая передача). клиент на данный момент представляет собой консольное приложение (.net core 3.1, сервер-5.0). связь между клиентом и сервером работала нормально, и внезапно у меня начали возникать RpcExceptions. проблема в том, что выданные исключения имеют StatusCode=OK и никаких подробностей. вот пример кода (упрощенный)

Серверный поток RPC

 if (!await requestStream.MoveNext())
                return;
//Open Connection - set user stream to server's output
client.Stream = responseStream;

while(await requestStream.MoveNext())
{
    var chatMessage = requestStream.Current;
    chatMessage.Msg = $"{requestStream.Current.ClientName}: {requestStream.Current.Msg}";
    foreach (var user in loggedClients)
    {
        user.Stream.WriteAsync(chatMessage);
    }
}
 

Код клиента

 using (var streaming = client.RPC_BroadcastChatMessage(metaData))
{
    //Read stream and display on console
    var readTask = Task.Run(async () =>
    {
        while (await streaming.ResponseStream.MoveNext())
        {
            Console.WriteLine($"{streaming.ResponseStream.Current.Msg}");
        }
    });

    //Send first message (empty string) - for a welcome message
    Console.WriteLine("Sending empty msg");
    await streaming.RequestStream.WriteAsync(emptyMsg);

    //Wait for messages from user and send to server
    Console.WriteLine("Type message and press Enter to send...");
    string line = Console.ReadLine();   
 
    while (!string.Equals(line, "exit", StringComparison.OrdinalIgnoreCase))
    {
        var stream = streaming.RequestStream;
                    
        var msg = new ChatMessage()
        {              
            ClientId = clientId,
            ClientName = $"User{userNumber}",
            Msg = line,
            RoomId = roomId
        };
                    
        await stream.WriteAsync(msg);

        line = Console.ReadLine();
    }
}
                
 

Исключение
Grpc.Core.RpcException: Статус(Код состояния=»ОК», Подробности=»»)

как клиент, так и сервер работают локально. Я попытался погуглить исключение, но пока ничего не нашел (в любом случае, это не связано со статусом=ОК). у кого-нибудь есть какие-нибудь зацепки? Я был бы вам очень признателен.

Комментарии:

1. У меня та же проблема, сервер реализован на c , клиент находится в .NET 5. Соединение работает нормально большую часть времени, но через более длительный период времени . Ошибка записи в сетевом клиенте с тем же исключением. После исключения соединение, похоже, зависает, так как клиент больше не читает сообщений