【发布时间】:2019-11-30 09:04:16
【问题描述】:
我正在尝试使用 xamarin android 和 gRPC 进行一些尝试。
我的服务在我的计算机上运行,并且我有一个带有 gRPC 客户端的网络标准 2.1 库。如果我在同一台计算机的 wpf 应用程序中使用这个库,我会从服务器获得响应,但是如果我在我的 xamarin proyect 中使用这个库,我在具有 android 8.0 的虚拟机中运行,我会收到消息错误连接关闭同行。
在 xamarion 项目中,我使用的地址是https://10.0.2.2:5001。我使用的 IP 是 10.0.2.2,因为如果我没记错的话,就是用来与 localhost 通信的 IP。
我该如何解决这个问题?
谢谢。
PD:我已设置应用程序可以使用互联网的权限。
PD:我意识到如果我的 WPF 应用程序我使用 https://localhost:5001 它可以工作,但如果我使用 https:x.x.x.x:5001 其中 x.x.x.x 是计算机的 IP,它会给出相同的错误。
【问题讨论】:
-
使用安全连接 ("https") 时,您使用的主机名实际上很重要。因此,如果您能够与 localhost:5001 连接并且 X.X.X.X:5001 失败,则问题可能在于您的 SSL 证书是如何设置的(它包括名称“localhost”但不允许使用原始 IP。)启用额外的日志记录可能帮助调试问题:github.com/grpc/grpc/blob/master/TROUBLESHOOTING.md
标签: xamarin.android grpc