CBBDataChannel 2.0.5

CBBDataChannel 2.0.5

测试测试
语言语言 Obj-CObjective C
许可 MIT
发布最新发布2017年7月

cbbYoji Suzuki 维护。



  • DWANGO Co., Ltd.

提供 iOS 用的 DataChannel 的实现。

示例

本存储库的 示例示例-swift 目录是使用 WKWebView(HTML)和原生代码(Objective-c)之间 DataChannel 进行通信的简单示例项目。

screen-shot

要构建和运行示例,请先执行 pod install

cd Example
pod install
open Example.xcworkspace

或者

cd Example-swift
pod install
open Example-swift.xcworkspace

设置

Podspec

abstract_target 'defaults' do
    pod 'CBBDataChannel', '2.0.5'
end

使用

第 1 步:准备 CBBDataChannel

指定要使用的 CBBDataBus 实例,然后生成 CBBDataChannel。

    CBBDataChannel* dataChannel = [[CBBDataChannel alloc] initWithDataBus:dataBus];

第 2 步:设置接收数据的接收口

  • 通过 CBBDataChannel#addHandler 添加接收数据的接收口处理程序
  • 接收 REQUEST 的情况下,因为已设置的 callback,所以需要调用它并返回响应。
    [dataChannel addHandler:^(id  _Nullable packet, CBBDataChannelResponseCallback  _Nullable callback) {
        if (callback) {
            // REQUEST (双方向データ) を受信時の処理
            // 最後に処理結果を応答する必要がある
            callback(@"response-data");
        } else {
            // PUSH (単方向データ) を受信時の処理
        }
    }];

添加的处理程序可以通过 CBBDataChannel#removeHandlerCBBDataChannel#removeAllHandlers 进行删除。

第 3-1 步:发送 PUSH(单方向数据)

可以通过 CBBDataChannel#sendPush 发送 PUSH(单方向数据)。

    [dataChannel sendPush:@["push-data"]];

第 3-2 步:发送 REQUEST(双向数据)

可以通过 CBBDataChannel#sendRequest 发送 REQUEST(双向数据)。

    [dataChannel sendRequest:@["request-data"] callback:^(NSError * _Nullable error, id  _Nullable packet) {
        // 応答を受信時の処理
    }];

第 4 步:销毁

可以通过 CBBDataChannel#destroy 进行销毁。

    [dataChannel destroy];

即使销毁了 DataChannel,也不会执行下位层(DataBus)的销毁。

许可

  • 源代码、文档:[MIT](https://raw.github.com/cross-border-bridge/data-channel-ios/2.0.5/LICENSE)
  • 图像文件:[CC BY 2.1 JP](https://creativecommons.org/licenses/by/2.1/jp/)