Flutter SDK

flutter sdk


# Flutter API说明

<p>[TOC]</p> <h1>tk_initSdk</h1> <ul> <li>功能:IOTC初始化,确认sdkLicensekey的合法性</li> <li>Key值需要向TUTK申请</li> </ul> <pre><code class="language-dart">/** IOTC 初始化 /// 初始化SDK, 更改 realm 设定 /// 需要在 IOTC_Initialize2() 之前调用 /// 如果 master realm 设定成功,则回调 TUTK_ER_NoERROR /// * \如果返回值 &amp;lt; 0,则上报错误码 /// * - #如果region无效,则回调 TUTK_ER_INVALID_ARG /// * - #如果key无效,则回调 TUTK_ER_INVALID_LICENSE_KEY /// * - #如果内存分配失败,则回调 TUTK_ER_MEM_INSUFFICIENT /// * [licenseKey] 需要设置的TUTK Server's realm. */ static Future&amp;lt;int&amp;gt; tk_initSdk(String licenseKey) 示例: FlutterTunnel.tk_initSdk('licensekey');</code></pre> <h1>tk_connectTunnel</h1> <ul> <li>功能:建立Tunnel连接</li> </ul> <pre><code class="language-dart">/** Tunnel 连接 /// 此接口用于客户端与Tunnel Agent建立连接 /// * [connectInfo] /// var connectInfo = {&amp;quot;uid&amp;quot;: _uid, &amp;quot;username&amp;quot;: _username, &amp;quot;password&amp;quot;: _password}; /// * [_uid] Tunnel服务端 所需使用的UID /// * [_username] 预设的account /// * [_password] 预设的password /// 当返回值 &amp;gt;= 0 且等于输入的SID参数时,则返回相应的session id /// 如果返回值 &amp;lt; 0,则上报错误码 */ static Future&amp;lt;int&amp;gt;tk_connectTunnel(Map connectInfo) - (int)tk_connectTunnel 示例: var info = {&amp;quot;uid&amp;quot;: _uid, &amp;quot;username&amp;quot;: &amp;quot;admin&amp;quot;, &amp;quot;password&amp;quot;: &amp;quot;testpwd&amp;quot;}; int sid = await FlutterTunnel.tk_connectTunnel(info); </code></pre> <h1>tk_startPortMapping</h1> <ul> <li>功能:开始将两端端口进行映射</li> </ul> <pre><code class="language-dart">/** 端口映射 /// 进行端口映射 /// 此接口用于Tunnel Agent启用端口映射服务 // * 由P2PTunnel 模块提供,Tunnel Agent将指定本地端口 // * Tunnel Agent将使用一个本地的端口local port映射远程的端口remote port /// * [portInfo] /// var portInfo = {&amp;quot;uid&amp;quot;: _uid, &amp;quot;localPort&amp;quot;: _localPort, &amp;quot;remotePort&amp;quot;: _remotePort}; /// * [_uid] Tunnel服务端 所需使用的UID /// * [_localPort] 与Tunnel服务端 建立连接时使用的本地端口 /// * [_remotePort] Tunnel服务端 建立连接时指定的远端端口 /// 如果返回值 &amp;gt;= 0,则返回端口映射索引 /// 如果返回值 &amp;lt; 0,则上报错误码 */ static Future&amp;lt;int&amp;gt;tk_startPortMapping(Map portInfo) tk_startPortMapping 示例: int webIndex; var info = {&amp;quot;uid&amp;quot;: _uid, &amp;quot;localPort&amp;quot;: 10000, &amp;quot;remotePort&amp;quot;: 80}; try { webIndex = await FlutterTunnel.tk_startPortMapping(info); } on Exception { webIndex = -1; }</code></pre> <h1>tk_stopPortMapping</h1> <ul> <li>功能:停止端口映射</li> </ul> <pre><code class="language-dart">/** 停止端口映射 /// 停止端口映射 /// 此API用于Tunnel Agent关闭端口映射服务 // * 与P2PTunnelAgent_PortMapping() 提供的端口映射索引 保持一致 /// * [portInfo] /// var portInfo = {&amp;quot;uid&amp;quot;: _uid}; /// * [_uid] Tunnel服务端 所需使用的UID */ static Future&amp;lt;void&amp;gt;tk_stopPortMapping(Map portInfo) 示例: var info = {&amp;quot;uid&amp;quot;: _uid}; FlutterTunnel.tk_stopPortMapping(info);</code></pre> <h1>tk_disconnectTunnel</h1> <ul> <li>功能:断开Tunnel连接</li> </ul> <pre><code class="language-dart">/** 断开Tunnel连接 /// 停止Tunnel连接的进程 /// 此接口用于客户端停止与服务端建立连接 // * 当客户端在 P2PTunnelAgent_Connect_Ex() 中阻塞时,可使用此API。 /// * [connectInfo] /// var connectInfo = {&amp;quot;uid&amp;quot;: _uid}; /// * [_uid] Tunnel服务端 所需使用的UID */ static Future&amp;lt;void&amp;gt;tk_disconnectTunnel(Map connectInfo) 示例: var info = {&amp;quot;uid&amp;quot;: _uid}; FlutterTunnel.tk_disconnectTunnel(info); </code></pre> <h1>tk_unInitSdk</h1> <ul> <li>功能:IOTC反初始化</li> </ul> <pre><code class="language-dart">/** IOTC 反初始化 /// 反初始化 P2PTunnel 模块 /// 此API用于将Tunnel Agent的P2PTunnel模块进行反初始化 /// * \如果反初始化成功,则回调 TUNNEL_ER_NoERROR /// * \如果返回值 &amp;lt; 0,则上报错误码 */ static Future&amp;lt;void&amp;gt; tk_unInitSdk() 示例: FlutterTunnel.tk_unInitSdk(); </code></pre> <h1>tk_setTunnelStatusCB</h1> <ul> <li>功能:上抛Tunnel连接状态</li> </ul> <pre><code class="language-dart">/** 上抛Tunnel连接状态 /// 上抛Tunnel连接状态 /// 此接口用于设置P2PTunnel的回调 // * Tunnel Agent可从回调中获知当前的连接状态 // * 每当tunnel连接状态发生改变时,P2PTunnel模块将被调用 // * 此回调函数用于通知Tunnel Agent相应的状态 /// * [_uid] Tunnel服务端 所需使用的UID */ static Future&amp;lt;void&amp;gt; tk_setTunnelStatusCB(String _uid, void Function(dynamic) callback) 示例: FlutterTunnel.tk_setTunnelStatusCB(_uid, (data) { String uid = data[&amp;quot;uid&amp;quot;]; int sid = data[&amp;quot;sid&amp;quot;]; int error = data[&amp;quot;error&amp;quot;]; setState(() { _tunnelStatusCB = error; if(_tunnelStatusCB &amp;lt; 0) { disconnectTunnel(); } }); }); </code></pre>

页面列表

ITEM_HTML