我正在尝试将 Flutter 应用程序连接到 gRPC 服务器。\n它过去在我的旧笔记本电脑上运行良好,但现在当我尝试向端点发出请求时总是收到此错误:
\ngRPC Error (code: 13, codeName: INTERNAL, message: grpc: error unmarshalling request: string field contains invalid UTF-8, details: [], rawResponse: null)\nRun Code Online (Sandbox Code Playgroud)\n当我使用另一个gRPC客户端(例如bloomRPC)时,调用成功并且我得到了正确的数据。\nFlutter应用程序调用甚至没有到达端点服务(我在那里放了一个println来测试它,它没有打印任何内容)当我从 Flutter 应用程序进行调用时,但在使用bloomRPC 时它确实会打印它)。
\n这是我的客户端连接代码:
\nclass GrpcClient {\n late ClientChannel client;\n static final GrpcClient _connection = GrpcClient._connect();\n\n factory GrpcClient() => _connection;\n \n GrpcClient._connect(){\n client = ClientChannel(\n "10.0.2.2",\n port: 8080,\n options: ChannelOptions(credentials: ChannelCredentials.insecure(), connectionTimeout:Duration(seconds: 10))\n );\n\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n我用 运行服务器 GODEBUG=http2debug=2 go run .。当我从 Bloom 拨打电话时得到以下输出:
2021/12/27 22:23:52 http2: Framer …Run Code Online (Sandbox Code Playgroud)