.NET CORE GRPC 流异常

问题描述

我正在使用 gRPC(BI 定向流)开发 .NET Core 聊天室。 客户端,目前,是一个控制台应用程序(.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: Status(StatusCode="OK",Detail="")

客户端和服务器都在本地运行。 我试过谷歌搜索异常,但还没有找到任何东西(不管怎样,与 statusCode=OK 无关)。 有人有任何线索吗?我将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)