UNPKG

@cross-border-bridge/data-channel

Version:
74 lines (57 loc) 2.29 kB
# <p align="center"><img src="title.png"/></p> - DataChannelTypeScript用の実装を提供します - Node.jsで利用することを想定しています ## Setup ### package.json ``` "dependencies": { "@cross-border-bridge/data-channel": "~2.0.0" }, ``` ## Usage #### step 1: import ```typescript import * as dc from "@cross-border-bridge/data-channel"; ``` #### step 2: DataChannelを準備 使用するDataBusインスタンスを指定してDataChannelを生成します。 ```typescript var dataChannel: dc.DataChannel = new dc.DataChannel(dataBus); ``` #### step 3: 受信データの受け口を設定 `DataChannel#addHandler` で受信データの受け口となるハンドラを追加します ```typescript var handler: dc.DataChannelHandler = (packet, callback?) => { データ受信時の処理(省略) // callbackがundefinedでない場合, 以下のように応答を返信する if (callback) { callback.apply(this, ["format", "response-data"]); } } dataChannel.addHandler(handler); ``` > `DataChannel#removeHandler` で解除することができます。 #### step 4-1: PUSH (単方向データ) を送信 - `DataChannel#send``callback` の指定を省略することで, PUSH (単方向データ) を送信することができます - PUSH は相手からの応答が不要な場合に使用します ```typescript dataChannel.send(["format", "data"]); ``` #### step 4-2: REQUEST (双方向データ) を送信 - `DataChannel#send``callback` を指定することで, REQUEST (双方向データ) を送信することができます - REQUEST は相手からの応答が必要な場合に使用します ```typescript dataChannel.send(["format", "data"], (error, packet) => { 応答受信時の処理(省略) // errorはDataChannel内でエラーが発生した時に設定される }); ``` #### step 5: 破棄 `DataChannel#destroy` で破棄できます。 ```typescript dataChannel.destroy(); ``` > DataChannelをdestroyしても下位層(DataBus)のdestroyは行われません。 ## License - Source code, Documents: [MIT](LICENSE) - Image files: [CC BY 2.1 JP](https://creativecommons.org/licenses/by/2.1/jp/)