尚云互联P2P平台 SDK使用说明

Sample程序说明

P2P_SDK的Sample程序有ListenTester、ConnectionTester和ReadWriteTester

ListenTester程序

ListenTester是模拟设备端程序,能够模拟设备端休眠状态和监听连接以及
数据传输(Android端和iOS端的APP中ListenTester不具备休眠功能)。

参数
DID 
APILicense(或APILicense:CRCKey )
InitString 
[Repeat] 
[WakeupKey] 
[IP1]
[IP2] 
[IP3]

程序运行需要的参数共有8个,其中带中括号“[]”的参数为可选参数,若
WakeupKey填写了,必须至少填写一台唤醒服务器的IP或域名:
• DID:设备的ID号,由尚云互联公司提供;
• APILicense:P2P加密License,若平台有设置CRCKey,需要使用 英文字符‘:’
拼接在改参数后面作为一个参数,例: APILicense:CRCKey;
• InitString:由P2P平台的三台P2P Server的IP加密的字符串;
• [Repeat]:重复Listen的次数,默认1次;
• [WakeupKey]:WakeupServer的加密key;
• [IP1]、[IP2]、[IP3]:三台唤醒服务器的IP或域名;

Mode=0(FT_Test)
调用PPCS_Write()发送文件给客户端

Mode=1(RW_Test)
根据Session的8个channel创建线程,每个channel创建两个线程,
两个线程分别调用PPCS_Read()读取客户端发送的数据和调用
PPCS_Write()发送数据给客户端。共16个线程。

Mode=2(Pkt_Test)
调用PPCS_PktSend发送数据封包给客户端

程序运行流程介绍

1.调用PPCS_GetAPIVersion()API,获取当前正在使用的P2P API的版本号并打印输出版本号信息到终端显示。
2.检查输入的参数是否正确,如果错误则打印输出错误信息到终端显示并退出程序。
3.调用PPCS_Initialize()API,添加InitString字符串进行初始化,如果InitString信息错误,将会返回负数值并打印输出错误信息到终端显示后退出程序。
4.调用PPCS_NetworkDetect()API,对当前网络进行侦测以及和服务器进行连接测试,侦测结果打印输出到终端显示。
5.将DID信息通过加密函数加密后保存,休眠需要用到的登录封包。
6.开始按以下步骤工作(Android和iOS从3步骤开始):

工作步骤

1. 开始休眠:
  使用TCP与唤醒服务器连接,如果参数输入有多个唤醒服务器的IP,则从
中随机选择一台唤醒服务器进行连接,并将加密DID信息的登录封包发送给唤
醒服务器。
  在第一次将登录封包发送给唤醒服务器后,每隔一分钟需要发送一次保活
封包到唤醒服务器
发送的封包内容分两种:
登录封包:封包内容是以DID通过加密函数加密的信息。
保活封包:封包内容是随机的数据,不需要加密,大小为 64byte
2. 被唤醒:
  在休眠阶段WiFi芯片就一直等待来自唤醒服务器的唤醒封包,如果收到了
唤醒封包之后打印输出休眠时间到终端显示并结束休眠,进行连接工作。
3. 调用监听API监听来自客户端的连接:
  调用PPCS_Listen()API监听来自客户端的连接,当连接上之后打印输出当前
连接的信息到终端显示。
4. 调用读取API读取来自客户端的数据:
调用PPCS_Read()读取来自客户端发送的Mode数据,分以下情况:
  如果API返回负数值的时候,打印输出到终端显示后结束本步骤进入下一
步骤;
  如果接收到Mode数据后,根据Mode数据内容进行数据传输测试:
  Mode= 0,调用PPCS_Write()发送文件给客户端,Linux、OS X和Windows发
送1.7z文件,Android发送minion.mp4文件,iOS发送minion_01.mp4文件。
  Mode= 1 ,根据Session的8个channel创建线程,每个channel创建两个线程,
两个线程分别调用PPCS_Read()读取设备端发送的数据和调用PPCS_Write()发送
数据给设备端。共16个线程。
  Mode=2,调用PPCS_PktSend()发送数据给客户端,共发送50个封包,每个
封包1024byte,每发送一个打印一次。
5. 检查Repeat-1是否等于0:
  如果等于零则调用反初始化API,打印输出信息到终端显示并退出程序;
  如果大于零,则继续1步骤(Android和iOS从3步骤开始)。
操作日志

你可能感兴趣的:(尚云互联P2P平台 SDK使用说明)