美文网首页
Flutter和iOS通信的三种channel

Flutter和iOS通信的三种channel

作者: 张_何 | 来源:发表于2020-04-28 18:51 被阅读0次

三种Channel

  • BasicMessageChannel:用于传递字符串和半结构化的信息。持续通信,收到消息后可以回复此次消息,如 Native 将遍历到的文件信息陆续传递到 Dart,在比如:Flutter 将从服务端陆续获取到的信息交给 Native 加工,Native 处理完返回等。

  • MethodChannel:用于传递方法调用(method invocation)。一次性通信:如 Flutter 调用 Native 拍照。

  • EventChannel: 用于数据流(event streams)的通信。持续通信,收到消息后无法回复此次消息,通常用于 Native 向 Dart 的通信,如:手机电量变化,网络变化,陀螺仪,传感器等

这三种Channel之间互相独立,各有用途,但它们在设计上却非常相近。每种Channel均有三个重要成员变量:

  • name: String类型,代表Channel的名字,也是其唯一标识符。
  • messager:BinaryMessenger类型,代表消息信使,是消息的发送与接收的工具。
  • codec: MessageCodec类型或MethodCodec类型,代表消息的编解码器。

相关文章

网友评论

      本文标题:Flutter和iOS通信的三种channel

      本文链接:https://www.haomeiwen.com/subject/fkmbwhtx.html