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 对象
- 内部字段:
{
status:true // 布尔类型;是否初始化成功;
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:2 // 数字类型;后台线程退出时的错误信息;
}
示例代码
var iscpClient = api.require('iscpClient');
iscpClient.initSDK(function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
Android系统
可提供的1.0.0及更高版本
queryLocalPortFromAddress
查询本地监听端口;通过业务目的地址查找本地监听端口。
queryLocalPortFromAddress({params},callback(ret))
params
address:
- 类型:字符串
- 描述:业务系统的公网地址
port:
- 类型:字符串
- 描述:业务系统的公网端口
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
code:-1 // 数字类型;本地监听端口,当未找到或安全连接未建立时返回 -1。;
}
示例代码
var iscpClient = api.require('iscpClient');
iscpClient.queryLocalPortFromAddress({
address:'192.168.0.108',
port:'6001',
},function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
connectToIscpServerWithHost
建立安全连接(启动后台线程,连接交互网关,得到访控列表,开启监听端口。)
connectToIscpServerWithHost({params},callback(ret))
params
host:
- 类型:字符串
- 描述:外网交互网关的公网地址
port:
- 类型:字符串
- 描述:外网交互网关的公网端口
sslThreadNum:
- 类型:数字
- 描述:安全线程
- 默认:1
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true // 布尔类型;建立安全连接成功;
msg:'安全连接成功' // 字符串;连接信息返回 **注意:仅支持iOS**
}
示例代码
var iscpClient = api.require('iscpClient');
iscpClient.connectToIscpServerWithHost({
host:'192.168.0.108',
port:'6001',
},function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
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 对象
- 内部字段:
{
msg:'请先建立安全连接!' //字符串类型;
status: true // 布尔类型;连接成功;
}
示例代码
var iscpClient = api.require('iscpClient');
iscpClient.connectSocket({
socket:'1',
host:'192.168.0.108',
port:'6001'
},function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS
可提供的1.0.0及更高版本
urlAnalysedByISCPWithUrlString
URL地址改造(异步接口)
urlAnalysedByISCPWithUrlString({params},,callback(ret))
params
urlString:
- 类型:字符串
- 描述:需要访问的URL地址。
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
urlAnalysed:'' // 字符串类型;如果根据host和port能查询到本地动态监听端口,则返回改造后的URL地址;如果不能查询到动态监听端口,则返回传入的URL地址;
}
示例代码
var iscpClient = api.require('iscpClient');
iscpClient.urlAnalysedByISCPWithUrlString({
urlString:'http://192.168.0.98:9090',
},function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
urlAnalysedByISCPWithUrlStringSync
URL地址改造(同步接口)
urlAnalysedByISCPWithUrlStringSync({params})
params
urlString:
- 类型:字符串
- 描述:需要访问的URL地址。
return
ret:
- 类型:JSON 对象
- 内部字段:
{
urlAnalysed:'' // 字符串类型;如果根据host和port能查询到本地动态监听端口,则返回改造后的URL地址;如果不能查询到动态监听端口,则返回传入的URL地址;
}
示例代码
var iscpClient = api.require('iscpClient');
var ret = iscpClient. urlAnalysedByISCPWithUrlStringSync({
urlString:'http://192.168.0.98:9090'
});
alert(JSON.stringify(ret));
可用性
iOS、Android系统
可提供的1.0.0及更高版本
disconnectServer
断开安全连接
disconnectServer(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
msg:'安全连接未建立或已断开。' //字符串类型;
status:false //布尔类型;断开连接是否成功
}
示例代码
var iscpClient = api.require(‘iscpClient’); iscpClient.disconnectServer(function(ret) { if (ret) { alert(JSON.stringify(ret)); } });
##可用性
iOS、Android系统
可提供的1.0.0及更高版本
<div id="a8"></div>
#**addLogListener**
添加log监听
addLogListener(callback(ret))
##callback(ret)
ret:
- 类型:JSON 对象
- 描述:仅android支持
- 内部字段:
```js
{
status:false //布尔类型;是否设置成功
}
示例代码
var iscpClient = api.require(‘iscpClient’); iscpClient.addLogListener(function(ret) { if (ret) { alert(JSON.stringify(ret)); } }); ```
可用性
Android系统
可提供的1.0.0及更高版本