iscpClient

来自于:AC模块工作室立即使用

initSDK queryLocalPortFromAddress connectToIscpServerWithHost connectSocket urlAnalysedByISCPWithUrlString urlAnalysedByISCPWithUrlStringSync disconnectServer addLogListener

概述

iscpClient封装了外网交互平台移动终端 SDK ,此SDK用于为移动终端上的应用程序(APP)提供一套开发接口,使其可以通过外网交互平台接入信息外网,安全地访问外网业务系统。 SDK 基于外网交互平台代理模式客户端的实现原理进行开发。简单来说就是,SDK 会在终端本地开一个(或几个,视有多少业务系统需要访问)监听端口;当 APP 需要访问外网业务系统时,需要连接该监听端口,建立代理连接,由 SDK 对业务数据进行加密传输。

图片说明

initSDK

初始化

initSDK(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true // 布尔类型;是否初始化成功;
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code:2 // 数字类型;后台线程退出时的错误信息;
  3. }

示例代码

  1. var iscpClient = api.require('iscpClient');
  2. iscpClient.initSDK(function(ret) {
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. }
  6. });

可用性

Android系统

可提供的1.0.0及更高版本

queryLocalPortFromAddress

查询本地监听端口;通过业务目的地址查找本地监听端口。

queryLocalPortFromAddress({params},callback(ret))

params

address:

  • 类型:字符串
  • 描述:业务系统的公网地址

port:

  • 类型:字符串
  • 描述:业务系统的公网端口

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code:-1 // 数字类型;本地监听端口,当未找到或安全连接未建立时返回 -1。;
  3. }

示例代码

  1. var iscpClient = api.require('iscpClient');
  2. iscpClient.queryLocalPortFromAddress({
  3. address:'192.168.0.108',
  4. port:'6001',
  5. },function(ret) {
  6. if (ret) {
  7. alert(JSON.stringify(ret));
  8. }
  9. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

connectToIscpServerWithHost

建立安全连接(启动后台线程,连接交互网关,得到访控列表,开启监听端口。)

connectToIscpServerWithHost({params},callback(ret))

params

host:

  • 类型:字符串
  • 描述:外网交互网关的公网地址

port:

  • 类型:字符串
  • 描述:外网交互网关的公网端口

sslThreadNum:

  • 类型:数字
  • 描述:安全线程
  • 默认:1

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true // 布尔类型;建立安全连接成功;
  3. msg:'安全连接成功' // 字符串;连接信息返回 **注意:仅支持iOS**
  4. }

示例代码

  1. var iscpClient = api.require('iscpClient');
  2. iscpClient.connectToIscpServerWithHost({
  3. host:'192.168.0.108',
  4. port:'6001',
  5. },function(ret) {
  6. if (ret) {
  7. alert(JSON.stringify(ret));
  8. }
  9. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

connectSocket

建立应用连接

代替 Unix 标准 socket 接口中的 connect 方法,将 socket 句柄连接至目的地址。 但在内部实现中,实际会根据访问控制列表,将该 sock 连接至终端本地的代理监听端口。用户在使用时,其他步骤还是使用标准 Unix 的 socket 接口,包括 socket、send、recv 等,只将 connect 函数替换为对该方法的调用。

connectSocket({params},callback(ret))

params

host:

  • 类型:字符串
  • 描述:业务系统地址(公网地址或信息外网地址)

port:

  • 类型:字符串
  • 描述:业务系统端口

reqThreadNum:

  • 类型:数字
  • 描述:应用线程
  • 默认:1

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg:'请先建立安全连接!' //字符串类型;
  3. status: true // 布尔类型;连接成功;
  4. }

示例代码

  1. var iscpClient = api.require('iscpClient');
  2. iscpClient.connectSocket({
  3. socket:'1',
  4. host:'192.168.0.108',
  5. port:'6001'
  6. },function(ret) {
  7. if (ret) {
  8. alert(JSON.stringify(ret));
  9. }
  10. });

可用性

iOS

可提供的1.0.0及更高版本

urlAnalysedByISCPWithUrlString

URL地址改造(异步接口)

urlAnalysedByISCPWithUrlString({params},,callback(ret))

params

urlString:

  • 类型:字符串
  • 描述:需要访问的URL地址。

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. urlAnalysed:'' // 字符串类型;如果根据host和port能查询到本地动态监听端口,则返回改造后的URL地址;如果不能查询到动态监听端口,则返回传入的URL地址;
  3. }

示例代码

  1. var iscpClient = api.require('iscpClient');
  2. iscpClient.urlAnalysedByISCPWithUrlString({
  3. urlString:'http://192.168.0.98:9090',
  4. },function(ret) {
  5. if (ret) {
  6. alert(JSON.stringify(ret));
  7. }
  8. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

urlAnalysedByISCPWithUrlStringSync

URL地址改造(同步接口)

urlAnalysedByISCPWithUrlStringSync({params})

params

urlString:

  • 类型:字符串
  • 描述:需要访问的URL地址。

return

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. urlAnalysed:'' // 字符串类型;如果根据host和port能查询到本地动态监听端口,则返回改造后的URL地址;如果不能查询到动态监听端口,则返回传入的URL地址;
  3. }

示例代码

  1. var iscpClient = api.require('iscpClient');
  2. var ret = iscpClient. urlAnalysedByISCPWithUrlStringSync({
  3. urlString:'http://192.168.0.98:9090'
  4. });
  5. alert(JSON.stringify(ret));

可用性

iOS、Android系统

可提供的1.0.0及更高版本

disconnectServer

断开安全连接

disconnectServer(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg:'安全连接未建立或已断开。' //字符串类型;
  3. status:false //布尔类型;断开连接是否成功
  4. }

示例代码

var iscpClient = api.require(‘iscpClient’); iscpClient.disconnectServer(function(ret) { if (ret) { alert(JSON.stringify(ret)); } });

  1. ##可用性
  2. iOSAndroid系统
  3. 可提供的1.0.0及更高版本
  4. <div id="a8"></div>
  5. #**addLogListener**
  6. 添加log监听
  7. addLogListener(callback(ret))
  8. ##callback(ret)
  9. ret
  10. - 类型:JSON 对象
  11. - 描述:仅android支持
  12. - 内部字段:
  13. ```js
  14. {
  15. status:false //布尔类型;是否设置成功
  16. }

示例代码

var iscpClient = api.require(‘iscpClient’); iscpClient.addLogListener(function(ret) { if (ret) { alert(JSON.stringify(ret)); } }); ```

可用性

Android系统

可提供的1.0.0及更高版本