找回密码
 立即注册
查看: 332|回复: 0

在Dart中使用gRPC(gRPC in Dart )

[复制链接]
发表于 2021-12-14 20:53 | 显示全部楼层 |阅读模式
何为gRPC

In gRPC, a client application can directly call a method on a server application on a different machine as if it were a local object, making it easier for you to create distributed applications and services. As in many RPC systems, gRPC is based around the idea of defining a service, specifying the methods that can be called remotely with their parameters and return types. On the server side, the server implements this interface and runs a gRPC server to handle client calls. On the client side, the client has a stub (referred to as just a client in some languages) that provides the same methods as the server.

参考资料 https://grpc.io/docs/languages/dart/quickstart/

因为Flutter 项目中用到了grpc,所以只能各种找资料安装,要想在dart中能用grpc必须满足三个先决条件

大概意思就是说1,你的dart版本要大于2.12,安装Protocol buffer以及协议编译器

好,了解了这些先决条件以后就可以正式开始gRPC在dart中的使用之旅了。

首先检查下当前所使用的dart版本是否满足上述条件大于2.12及以上,如果小于这个版本的先升级下dart版本。

接下来就是安装Protocol buffer

1 下载 https://github.com/protocolbuffers/protobuf/tags 选择自己需要安装的版本下载


2 下载完解压 安装

cd  protobuf-3.18.0(下载的protobuf文件 我用的3.18.0的版本)

设置编译目录

./configure --prefix=/usr/local/protobuf

(/usr/local/protobuf/ 为自己配置的编译安装目录)

然后执行安装

make

make install

配置环境变量

终端 执行 vim .bash_profile

添加配置文件

export PROTOBUF=/usr/local/protobuf

export PATH=$PROTOBUF/bin:$PATH

export PATH=$PATH:$HOME/.pub-cache/bin

执行source .bash_profile 使配置生效

完成以后就可以查看安装结果了 输入protoc --version

看到如下结果表示安装成功:

protoc --version

libprotoc3.18.0

注意:当你弄完这些后满心欢喜的准备更新proto时protoc --dart_out=grpc:lib/src/generated -Iprotos protos/helloworld.proto

报错了Can't load Kernel binary: Invalid kernel binary format version.

Failed to precompile protoc_plugin:protoc_plugin:

../../.pub-cache/hosted/pub.flutter-io.cn/watcher-1.0.1/lib/watcher.dart:1:1: Error: The specified language version is too high. The highest supported language version is 2.12.

// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file

这是因为缺少了最关键的能在dart中使用的编译器 报错如下


只需要执行一下dart pub global activate protoc_plugin


待执行完后 还须在配置环境中添加

exportPATH="$PATH:$HOME/.pub-cache/bin"

添加完后,在Dart中使用gRPC就全部弄好了,可以试下更新数据和新增protos文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2025-5-15 09:53 , Processed in 0.133796 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表