我有一个由AudioDG.exe加载的Windows应用程序(APP)和音频处理对象(APO),它们通过gRPC进行通信:
用netstat -ano).
所有的东西在Windows 8和10上都很有魅力,但是在11上它根本无法沟通--我要么是Error Code 14, Unavailable, failed to connect to all addresses,要么是4, Deadline Exceeded。
启用调试跟踪之后,我现在看到“套接字为空”对“连接失败”错误的描述:I0207 16:20:59.916447 0 ..\..\..\src\core\ext\filters\client_channel\subchannel.cc:950: subchannel 000001D8B9B01E20 {address=ipv4:127.0.0.1:10000, args=grpc.client_channel_factory=0x1d8bb660460, grpc.default_authority=127.0.0.1:10000, grpc.internal.subchannel_pool=0x1d8b8c291b0, grpc.primary_user_agent=grpc-csharp/2.43.0 (.NET Framework 4.8.4470.0; CLR 4.0.30319.42000; net45; x64), grpc.resource_quota=0x1d8b8c28d90, grpc.server_uri=dns:///127.0.0.1:10000}: connect failed: {"created":"@1644240059.916000000","description":"socket is null","file":"..\..\..\src\core\lib\iomgr\tcp_client_windows.cc","file_line":112}
到目前为止我尝试过的是:
最新的grpc versions.
如果我在C#部件中同时创建客户端和服务器,一切都会正常工作(包括不安全和SSL ),但一旦应用程序APO通信,它就会感到阻塞或沙箱化。
在Windows 11中,哪些更改可以“阻止”gRPC?
提前感谢!
发布于 2022-02-10 23:03:48
在您的输入中,您写道:
服务器为127.0.0.1:20000
进一步查看日志,您可以看到:
服务器位于grpc.server_uri=dns:/127.0.0.1:10000
根据提出的问题和提供的数据量,我将检查服务器实际使用的端口以及客户端正在寻找连接的端口。
最简单的方法是使用内置的资源监视器应用程序。在“网络”选项卡上的“TCP连接”列表中,可以找到应用程序及其使用的端口。
您还可以使用PowerShell命令
Test-NetConnection -Port 10000 -InformationLevel "Detailed"
Test-NetConnection -Port 20000 -InformationLevel "Detailed"至少这是我根据你描述的第一件事。
关于您关于Windows 11中的更改的问题,我不认为这会给您带来问题。但是,与Windows 10相比,Windows 11具有更多的安全功能,请尝试完全禁用安全性功能作为测试。也许这将有助于解决问题。
至于ASP.NET Core6.0本身(如果我正确理解了版本),那么服务器部分不工作在编程环境的沙箱中,仍然可能不接受客户端证书。在程序级别,您可以尝试通过在代码中添加以下异常来修复这个问题:
// This switch must be set before creating the GrpcChannel/HttpClient.
AppContext.SetSwitch(
"System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
// The port number(5000) must match the port of the gRPC server.
var channel = GrpcChannel.ForAddress("http://localhost:5000");
var client = new Greet.GreeterClient(channel);Microsoft在这里详细介绍了ASP.NET Core6.0中的更多疑难解答问题。https://learn.microsoft.com/en-us/aspnet/core/grpc/troubleshoot?view=aspnetcore-6.0
我希望这是有用的,我建议的解决方案中至少有一个将有助于解决你的问题。无论如何,如果我有更多的信息,我想我可以帮助你更准确。
https://stackoverflow.com/questions/70978691
复制相似问题