xamarin.android - Xamarin 和 gRPC:由对等方关闭的连接
问题描述
我正在尝试使用 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:xxxx:5001 其中 xxxx 是计算机的 IP,它会给出相同的错误。
解决方案
Xamarin 适用于本机 nugets Grpc.Core和Grpc.Core.Api 它不适用于 Grpc.Net.Client
在https://docs.microsoft.com/en-us/aspnet/core/grpc/client?view=aspnetcore-3.1上查找更多信息
Xamarin 目前不支持使用 Grpc.Net.Client 通过 HTTP/2 调用 gRPC。我们正在努力在未来的 Xamarin 版本中改进对 HTTP/2 的支持。Grpc.Core 和 gRPC-Web 是当今可行的替代方案。
推荐阅读
- vue.js - 在 Front 中安全存储用户角色的位置
- mysql - SQL:从外键和属性创建主键
- c - C 字符串操作
- arrays - 从数组打印字符串打印错误的结果
- javascript - 如何获取 mp4 的编解码器 mime 信息?
- linux-device-driver - 在 Ubuntu 20.04 上使用什么代替 strlen() 作为设备驱动程序
- xml - 你如何在 xsl 中编写特殊字符?
- excel - 如何从 Excel 表格中的非唯一值返回行和列标签?
- arrays - 使用数组和指针的龟兔赛跑
- javascript - 我如何在按钮中使用 js ajax 打开一个新标签