SDK教程

概述:

  1. SDK采用C语言的方式提供接口,可以使用C/C++、VBC#、Delphi、Python语言作为开发语言调用,推荐使用C/C++作为开发语言,SDK包中包含RaysyncSDK.h头文件,其他语言需要根据接口定义修改为对应语言的版本。

如何使用:

  1. SDK包含一个头文件RaysyncSDK.h和一个动态库文件RaysyncSDK.dll和一个演示程序,演示程序使用VS2015开发。
  2. 开发时仅需要包含 RaysyncSDK.h 文件,并将RaysyncSDK.dll拷贝到执行程序的相同目录即可运行。

当前SDK适配Raysync版本:3.0.1.4

创建SDK对象实例:

  1. 函数:Raysync_CreateRaysyncInterface
  2. 作用:用于创建一个SDK的实例,后续所有的函数均需要使用此函数的返回值作为pInterface参数传入,当不需要使用实例后,应调用Raysync_DestroyRaysyncInterface函数将实例释放。
  3. 是否阻塞:否
参数名称 参数类型 描述
<返回值> void* 返回创建的SDK对象指针

销毁SDK对象实例:

  1. 函数:Raysync_DestroyRaysyncInterface
  2. 作用:释放由Raysync_CreateRaysyncInterface函数创建的实例。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* 需要销毁的SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
<返回值> <无> <无>

设置SDK对象中的用户数据:

  1. 函数:Raysync_SetUserData
  2. 作用:设置一个用户指定的值,可在回调函数中通过Raysync_GetUserData函数获得。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
pUserData void* 用户自定义的任意值
<返回值> <无> <无>

获取SDK对象中的用户数据:

  1. 函数:Raysync_GetUserData
  2. 作用:获取Raysync_SetUserData函数设置的值。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
<返回值> void* 用户通过Raysync_SetUserData函数设置的值,未设置时为null

设置连接断开回调:

  1. 函数:Raysync_SetClosedConnectionCallback
  2. 作用:在调用Raysync_Connect函数连接前设置一个回调函数,在与本地客户端连接断开时将得到通知。SDK通过调用这个回调函数通知用户一个已连接的SDK实例的连接被断开,用户需要主动调用Raysync_DestroyRaysyncInterface将这个实例销毁。重新连接时需要调用Raysync_CreateRaysyncInterface创建一个新的实例并调用Raysync_ConnectRaysync_Login
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
cb RAYSYNC_CLOSED_CONNECTION 指向回调函数的指针
<返回值> <无> <无>

RAYSYNC_CLOSED_CONNECTION原型:

参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
<返回值> <无> <无>

设置List消息回调函数:

  1. 函数:Raysync_SetListCallback
  2. 作用:设置Raysync_List函数的返回结果回调函数,当Raysync_List调用成功后不会立即得到结果,等待SDK收到完整的列表后通过调用这个回调函数通知用户列表内容。这个回调函数可能在未主动调用Raysync_List时也会被调用。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
cb RAYSYNC_LIST_CALLBACK 指向回调函数的指针
<返回值> <无> <无>

RAYSYNC_LIST_CALLBACK原型:

参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nErrorCode unsigned int 服务器返回的错误代码,0=未发生错误 >0 有错误发生
pPath const char* 服务器路径
pFiles const char const 指定路径下的所有文件名数组,以null结尾
pSize const unsigned long long* 文件大小数组,与pFiles数组一一对应
pTime const unsigned int* 文件创建时间数组,与pFiles数组一一对应
pIsFolder const bool* 标识是否为目录数组,与pFiles数组一一对应
<返回值> <无> <无>

设置创建目录结果回调:

  1. 函数:Raysync_SetCreateFolderCallback
  2. 作用:设置创建目录的返回结果回调,当调用Raysync_CreateFolder函数时不会立即得到创建目录是否成功,通过这个函数设置的回调函数获得结果。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
cb RAYSYNC_CREATE_FOLDER_CALLBACK 指向回调函数的指针
<返回值> <无> <无>

RAYSYNC_CREATE_FOLDER_CALLBACK 原型:

参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nResult unsigned int 创建文件夹返回的结果,=0成功 >0 失败
<返回值> <无> <无>

设置重命名结果回调:

  1. 函数:Raysync_SetRenameCallback
  2. 作用:设置重命名的返回结果回调,当调用Raysync_Rename函数时不会立即得到重命名是否成功,通过这个函数设置的回调函数获得结果。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
cb RAYSYNC_RENAME_CALLBACK 指向回调函数的指针
<返回值> <无> <无>

RAYSYNC_RENAME_CALLBACK 原型:

参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nResult unsigned int 重命名返回的结果,=0 成功 >0 失败
<返回值> <无> <无>

设置删除文件/文件夹回调:

  1. 函数:Raysync_SetRemoveCallback
  2. 作用:设置删除文件或文件夹的返回结果回调,当调用Raysync_Remove函数时不会立即得到删除是否成功,通过这个函数设置的回调函数获得结果。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
cb RAYSYNC_REMOVE_CALLBACK 指向回调函数的指针
<返回值> <无> <无>

RAYSYNC_REMOVE_CALLBACK 原型:

参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nResult unsigned int 删除返回的结果,=0 成功 >0 失败
<返回值> <无> <无>

设置获取任务列表回调:

  1. 函数:Raysync_SetTaskListCallback
  2. 作用:设置获取任务列表结果回调,当调用Raysync_GetTaskList函数时不会立即得到列表内容,通过这个函数设置的回调函数获得列表。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
cb RAYSYNC_GET_TASK_LIST_CALLBACK 指向回调函数的指针
<返回值> <无> <无>

RAYSYNC_GET_TASK_LIST_CALLBACK 原型:

参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
pIDs unsigned int* 返回所有任务ID的数组,以null结尾
<返回值> <无> <无>

设置任务启动结果回调:

  1. 函数:Raysync_SetStartTaskCallback
  2. 作用:设置任务启动结果回调,当调用Raysync_StartTask函数时不会立即得到启动任务的结果,通过这个函数设置的回调函数得到任务是否启动成功。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
cb RAYSYNC_START_TASK_CALLBACK 指向回调函数的指针
<返回值> <无> <无

RAYSYNC_START_TASK_CALLBACK 原型:

参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nResult unsigned int 任务启动返回的结果,=0 成功 >0 失败
<返回值> <无> <无>

设置任务停止结果回调:

  1. 函数:Raysync_SetStopTaskCallback
  2. 作用:设置任务停止结果回调,当调用Raysync_StopTask函数时不会立即得到停止任务的结果,通过这个函数设置的回调函数得到任务是否停止成功。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
cb RAYSYNC_STOP_TASK_CALLBACK 指向回调函数的指针
<返回值> <无> <无>

RAYSYNC_STOP_TASK_CALLBACK 原型:

参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nResult unsigned int 任务停止返回的结果,=0 成功 >0 失败
<返回值> <无> <无>

设置删除任务结果回调:

  1. 函数:Raysync_SetDeleteTaskCallback
  2. 作用:设置任务删除结果回调,当调用Raysync_DeleteTask函数时不会立即得到删除任务的结果,通过这个函数设置的回调函数得到任务是否删除成功。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
cb RAYSYNC_DELETE_TASK_CALLBACK 指向回调函数的指针
<返回值> <无> <无>

RAYSYNC_DELETE_TASK_CALLBACK 原型:

参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nResult unsigned int 删除任务返回的结果,=0 成功 >0 失败
<返回值> <无> <无>

设置任务状态发生变化时的回调:

  1. 函数:Raysync_SetTaskStateChangedCallback
  2. 作用:设置一个回调函数,当有任务状态变化时回调函数将被调用。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
cb RAYSYNC_TASK_STATE_CHANGED_CALLBACK 指向回调函数的指针
<返回值> <无> <无>

RAYSYNC_TASK_STATE_CHANGED_CALLBACK 原型:

参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nTaskID unsigned int 任务ID号
nState unsigned int 任务状态
2=正在连接代理服务器
5=就绪,等待被执行
7=已启动,正在运行
8=正在停止
9=已停止
10=成功
11=失败
<返回值> <无> <无>

设置任务进度变化回调:

  1. 函数:Raysync_SetTaskProgressChangedCallback
  2. 作用:设置一个回调函数,当有任务状态进度变化时回调函数将被调用。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
cb RAYSYNC_TASK_PROGRESS_CHANGED_CALLBACK 指向回调函数的指针
<返回值> <无> <无>

RAYSYNC_TASK_PROGRESS_CHANGED_CALLBACK 原型:

参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nTaskID unsigned int 任务ID号
ullFilePos unsigned long long 已传输的文件数
ullFileMax unsigned long long 文件总数
ullSizePos unsigned long long 已传输的文件大小,单位:字节
ullSizeMax unsigned long long 所有文件的总大小,单位:字节
ullSpeed unsigned long long 传输速度,单位:字节
ullFailed unsigned long long 已经传输失败的文件数
<返回值> <无> <无>

设置获取失败列表回调:

  1. 函数:Raysync_SetFailedListCallback
  2. 作用:设置获取失败列表回调函数,当调用Raysync_GetFailedList函数时不会立即得到失败列表,当SDK收到整个失败列表时通过这个回调函数通知用户。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
cb RAYSYNC_GET_FAILED_LIST_CALLBACK 指向回调函数的指针
<返回值> <无> <无>

RAYSYNC_GET_FAILED_LIST_CALLBACK 原型:

参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nTaskID unsigned int 任务ID号
nResult unsigned int 获取结果 =0 成功 >0 失败
pSourceFiles const char const 源文件名称数组,以null结尾
pTargetFiles const char const 目标文件名称数组,与pSourceFiles一一对应
pLocalPath const char const 本地路径数组,与pSourceFiles一一对应
pRemotePath const char const 远程路径数组,与pSourceFiles一一对应
pIsDownload bool* 传输类型数组,用于区分文件是上传还是下载,与pSourceFiles一一对应,true=下载 false=上传
nErrorCode unsigned int* 失败原因数组,与pSourceFiles一一对应
<返回值> <无> <无>

设置获取任务信息结果回调:

  1. 函数:Raysync_SetTaskInfoCallback
  2. 作用:设置获取任务信息结果回调,当调用Raysync_GetTaskInfo函数时不会立即获得任务的信息,当SDK收到任务信息时将调用这个回调函数通知用户。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
cb RAYSYNC_GET_TASK_INFO_CALLBACK 指向回调函数的指针
<返回值> <无> <无>

RAYSYNC_GET_TASK_INFO_CALLBACK 原型:

参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nTaskID unsigned int 任务ID号
nResult unsigned int 获取结果 =0 成功 >0 失败
bUpload bool 是否上传任务 true=上传 false=下载
pTaskName const char* 创建任务时指定的任务名称
pLocalPath const char* 本地路径
pRemotePath const char* 远程路径
nState unsigned int 任务状态
2=正在连接代理服务器
5=就绪,等待被执行
7=已启动,正在运行
8=正在停止
9=已停止
10=成功
11=失败
pFiles const char const 任务包含的文件数组,以null结尾
ullFilePos unsigned long long 已传输的文件数
ullFileMax unsigned long long 文件总数
ullSizePos unsigned long long 已传输的文件大小,单位:字节
ullSizeMax unsigned long long 所有文件的总大小,单位:字节
ullSpeed unsigned long long 传输速度,单位:字节
ullFailed unsigned long long 已经传输失败的文件数
<返回值> <无> <无>

设置正在执行的任务数量变化回调:

  1. 函数:Raysync_SetTaskCountCallback
  2. 作用:设置一个回调函数,当正在执行的任务数发生变化时通过这个回调函数通知用户。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
cb RAYSYNC_TASK_COUNT_CHANGED_CALLBACK 指向回调函数的指针
<返回值> <无> <无>

RAYSYNC_TASK_COUNT_CHANGED_CALLBACK 原型:

参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nCount unsigned int 正在执行的任务数
<返回值> <无> <无>

连接本地客户端:

  1. 函数:Raysync_Connect
  2. 作用:连接本地Raysync客户端程序。
  3. 是否阻塞:是
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nTimeout unsigned int 连接的超时时间 单位:毫秒
<返回值> bool 表示连接是否成功 true=成功 false=失败

登录用户:

  1. 函数:Raysync_Login
  2. 作用:登录传输服务器。
  3. 是否阻塞:是
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
pServerIP const char* 服务器IP
nServerPort unsigned short 服务器端口
pUserName const char* 用户名
pPassword const char* 密码
<返回值> bool 表示登录是否成功 true=成功 false=失败

列出路径中包含的所有文件和文件夹:

  1. 函数:Raysync_List
  2. 作用:列出指定路径下的所有文件和文件夹。当命令发送成功,结果将在Raysync_SetListCallback函数设置的回调函数中获得。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
pPath const char* 服务器路径
<返回值> bool 表示命令是否发送成功 true=成功 false=失败

创建目录:

  1. 函数:Raysync_CreateFolder
  2. 作用:在指定路径下创建一个目录,当文件夹存在或无创建目录权限时失败。当命令发送成功,结果将在Raysync_SetCreateFolderCallback函数设置的回调函数中获得。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
pPath const char* 服务器路径
pFolderName const char* 需要创建的目录名称
<返回值> bool 表示命令是否发送成功 true=成功 false=失败

重命名文件或文件夹:

  1. 函数:Raysync_Rename
  2. 作用:在指定路径下重命名一个文件或文件夹,当旧文件名不存在或新文件名已存在时失败。当命令发送成功,结果将在Raysync_SetRenameCallback函数设置的回调函数中获得。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
pPath const char* 服务器路径
pOldName const char* 旧文件或文件夹名称
pNewName const char* 新文件或文件夹名称
<返回值> bool 表示命令是否发送成功 true=成功 false=失败

删除文件或文件夹:

  1. 函数:Raysync_Remove
  2. 作用:删除一个已存在的文件或文件夹。当文件或文件夹不存在时失败。当命令发送成功,结果将在Raysync_SetRemoveCallback函数设置的回调函数中获得。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
pPath const char* 服务器路径
pFiles const char* 待删除的文件或文件夹名称
<返回值> bool 表示命令是否发送成功 true=成功 false=失败

上传文件或文件夹:

  1. 函数:Raysync_Upload
  2. 作用:将本地的一个或多个文件或文件夹上传到服务器上的指定路径。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
pLocalPath const char* 本地路径
pRemotePath const char* 服务器路径
pLocalFiles const char const 待上传的本地文件或文件夹列表数组,以null结尾
pDestName const char const 指定文件或文件夹在服务器上的保存名称,与pLocalFiles对应,可为null
pTaskName const char* 指定一个任务名称
<返回值> bool 表示命令是否发送成功 true=成功 false=失败

下载文件或文件夹:

  1. 函数:Raysync_Download
  2. 作用:将服务器上已存在的文件或文件夹下载到本地。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
pLocalPath const char* 本地路径
pRemotePath const char* 服务器路径
pRemoteFiles const char const 待下载的服务器文件或文件夹列表数组,以null结尾
pDestName const char const 指定文件或文件夹在本地的保存名称,与pRemoteFiles对应,可为null
pTaskName const char* 指定一个任务名称
<返回值> bool 表示命令是否发送成功 true=成功 false=失败

获取任务列表:

  1. 函数:Raysync_GetTaskList
  2. 作用:获取任务列表。当命令发送成功,结果将在Raysync_SetTaskListCallback函数设置的回调函数中获得。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
<返回值> bool 表示命令是否发送成功 true=成功 false=失败

启动任务:

  1. 函数:Raysync_StartTask
  2. 作用:启动一个已停止或已失败的任务。当命令发送成功,结果将在Raysync_SetStartTaskCallback函数设置的回调函数中获得。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nTaskID unsigned int 任务ID
<返回值> bool 表示命令是否发送成功 true=成功 false=失败

停止任务:

  1. 函数:Raysync_StopTask
  2. 作用:停止一个正在运行中的任务。当命令发送成功,结果将在Raysync_SetStopTaskCallback函数设置的回调函数中获得。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nTaskID unsigned int 任务ID
<返回值> bool 表示命令是否发送成功 true=成功 false=失败

删除任务:

  1. 函数:Raysync_DeleteTask
  2. 作用:删除一个已存在的任务,当任务正在运行时,任务会先被暂停,之后删除。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nTaskID unsigned int 任务ID
<返回值> bool 表示命令是否发送成功 true=成功 false=失败

当命令发送成功,结果将在Raysync_SetDeleteTaskCallback函数设置的回调函数中获得。


删除所有任务:

  1. 函数:Raysync_DeleteAllTask
  2. 作用:删除已经存在的所有任务,如果有任务正在运行,则会先将任务暂停后再删除。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
<返回值> bool 表示命令是否发送成功 true=成功 false=失败

获取指定任务的失败列表:

  1. 函数:Raysync_GetFailedList
  2. 作用:获取一个包含失败文件任务的失败列表。当命令发送成功,结果将在Raysync_SetFailedListCallback函数设置的回调函数中获得。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nTaskID unsigned int 任务ID
<返回值> bool 表示命令是否发送成功 true=成功 false=失败

获取任务信息:

  1. 函数:Raysync_GetTaskInfo
  2. 作用:获取指定任务的信息。当命令发送成功,结果将在Raysync_SetTaskInfoCallback函数设置的回调函数中获得。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nTaskID unsigned int 任务ID
<返回值> bool 表示命令是否发送成功 true=成功 false=失败

设置程序运行参数:

  1. 函数:Raysync_SetParams
  2. 作用:设置本地客户端程序的运行参数。
  3. 是否阻塞:否
参数名称 参数类型 描述
pInterface void* SDK对象指针,即Raysync_CreateRaysyncInterface函数的返回值
nMaxUpload unsigned int 最大同时上传的任务数
nMaxDownload unsigned int 最大同时下载的任务数
nMSS unsigned short 最大传输单元
nMaxUploadSpeed unsigned int 最大上传速度 单位:MB
nMaxDownloadSpeed unsigned int 最大下载速度 单位:MB
<返回值> bool 表示命令是否发送成功 true=成功 false=失败
本文导读目录
联系我们