SDK调用

该章节介绍SDK调用

1.SDK调用

SDK提供向BFTAgent发送文件和接收文件的能力,BFTAgent对SDK所在节点进行IP白名单验证,验证成功后sdk执行文件发送/接收操作;文件传输日志通过BFTAgent上传到日志中心。

sdkSend1

2.SDK使用前环境准备

操作前提说明:
1:准备一个BFTAgent,并开启客户端功能
2:BFTAgent启动且正常登陆BFTServer管理节点
3:在BFTConsole控制管理中心配置BFTAgent白名单
4:新建一个SDK项目

2.1 BFTAgent准备

解压Primeton_BFT_7.5.1_Agent安装包。

sdk1

修改bftagent/config/bft-agent-config.xml配置文件。

sdk2

sdk3

配置项 备注
name BFTAgent名称,名称应该全局唯一,如果出现重名会导致启动登陆失败
ip 安装BFTAgent的机器IP
receiveport BFTAgent文件传输端口
httpPort BFTAgent管理端口
server BFTServer服务器地址,BFTServer服务器地址可以填写多个用“;”分隔
clientstart 客户端功能开关;true开启,false关闭
clientsocketport 客户端通信端口
注意:一个机器部署多个BFTAgent需要修改receiveport,httpPort和clientsocketport防止端口冲突启动报错。

2.2设置BFTAgent白名单

在BFTAgent登陆BFTServer后,打开BFTConsole控制管理中心“服务器管理 -> 代理服务器”页面查看BFTAgent

sdk4

点击操作栏的“修改”按钮进入代理编辑页面;在“鉴权”中选择开启白名单,并配置IP白名单。

sdk5

sdk6

2.3.建立sdk项目

以java工程项目为例,新建SDKTest。sdk7

说明:系统jdk请使用jdk1.8

将sdklib.zip压缩包内的jar引入SDKTest工程。

sdk8

3.SDK发送/接收

示例:

sdk9

3.1 实例化文件传输操作类

文件传输操作类:com.primeton.transfer.sdk.SdkOperate

SdkOperate构造函数:

public SdkOperate(String clientName,String clientIp, int clientPort);

参数 说明
clientName SDK名称(bft-client-config.xml中的/filetransfer/client/name)
clientIp SDK端ip(bft-client-config.xml中的/filetransfer/client/ip)
clientPort SDK文件传输端口(bft-client-config.xml中的/filetransfer/client/socketport)

public SdkOperate(ClientBean clientBean);

参数 说明
clientBean 实现类 com.primeton.filetransfer.agent.client.bean.ClientBean;记录SDK名称,IP,文件传输端口

3.2 文件发送函数

通过发送函数调用,可实现向代理服务器的发送文件。

operate.send(String agentAddress, String sendFolder, String recFolder, List fileList, boolean signal, String encryptAlgo);

参数 要求 说明
agentAddress 必填非空 接收代理服务器地址,形式 : IP:POR
bft-agent-config.xml中的/filetransfer/agent/ip
bft-agent-config.xml中的/filetransfer/client/clientsocketport
sendFolder 必填非空 发送目录
recFolder 必填非空 接收代理服务器接收目录
fileList 可为空 发送文件集合,说明:如果文件集合不为空,则以文件集合为准,发送目录无效
signal 默认false 成功后是否在接收目录下生成一个命为signal.file的标识文件
encryptAlgo 默认no 加密方式;no(不加密),sm4,aes,des

3.3文件接收函数

operate.receive(String agentAddress, String sendFolder, String recFolder, List fileList, String encryptAlgo);

参数 要求 说明
agentAddress 必填非空 发送代理服务器地址,形式 : IP:PORT
bft-agent-config.xml中的/filetransfer/agent/ip
bft-agent-config.xml中的/filetransfer/client/clientsocketport
sendFolder 必填非空 代理服务器发送目录
recFolder 必填非空 SDK服务器接收目录
fileList 可为空 获取文件集合,说明:如果文件集合不为空,则以文件集合为准,发送目录无效
signal 默认false 成功后是否在接收目录下生成一个命为signal.file的标识文件
encryptAlgo 默认no 加密方式;no(不加密),sm4,aes,des

3.4 结果执行返回

发送/接受函数调用返回的实例都是 com.primeton.filetransfer.agent.client.bean.TransferResult;

属性 类型 说明
result boolean 执行结果,true:执行成功,false执行失败
totalsize int 文件总数
succsize int 成功传输文件数
failsize int 失败传输文件数
onfilesize int 未传输文件
failfilemap Map 类型 Map,传输失败文件集合,
onfilemap Map 类型 Map,未传输文件集合,
message String 返回消息
startDate long 开始时间
endDate long 结束时间

results matching ""

    No results matching ""