6.2 API描述
P2PStartup
/*
*Function describe:Initialize P2P
*@Host: Relay Address
*@Serve: Relay Address
*@UUID: Uniqueness ID of Device
*@Sign: Signature of UUID
*return:
*/
int P2PStartup(const char *Host, const char *Serve, const char *UUID, const char *Sign);
P2PCleanup[Unused]
/*
*Function describe:Clean P2P
*@...
*return:
*/
int P2PCleanup();
P2PLogin
/*
*Function describe:Login to Server
*@Timeout: Set login time out
*return: success,failed
*/
int P2PLogin(int Timeout);
P2PClose[Unused]
/*
*Function describe: Break connection
*@Timeout: Set login time out
*return: success,failed
*/
int P2PClose(P2PSocket ps);
P2PRunLoop
/*
*Function describe: P2P task loop, after startup() implement
*@:N
*return:N
*/
void P2PRunLoop(void);
P2PConnect
/*
*Function describe: Connect to P2P server
*@ps: Output socket after connect successful
*@UUID: Peer UUID
*@CallerData:
*@CallerDataLen: Length of caller data
*@Timeout: Set time out of connection
*return: success,failed
*/
int P2PConnect(P2PSocket *ps, const char *UUID, void *CallerData, unsigned int CallerDataLen, int Timeout);
P2PListen
/*
*Function describe: P2P listen
*@ps: Output socket after listen successful
*@Timeout: Set time out of connection
*@CallerData:
*@CallerDataLen: Length of caller data
*return: success,failed
*/
int P2PListen(P2PSocket *ps, int Timeout, const void **CallerData, unsigned int *CallerDataLen);
P2PReject
/*
*Function describe: Reject connect
*@ps: socket after connect or listen successful
*@ErrorCode:
*return: success,failed
*/
int P2PReject(P2PSocket ps, int ErrorCode);
P2PAccept
/*
*Function describe: Accept connect
*@ps: socket after connect or listen successful
*@Timeout: Set time out of accept connection
*return: success,failed
*/
int P2PAccept(P2PSocket ps, int Timeout);
P2PSocketFree
/*
*Function describe: Free socket of connection
*@ps: socket after connect or listen successful
*/
void P2PSocketFree(P2PSocket ps);
P2PSendUDP
/*
*Function describe: Use UPD method to send P2P buffer
*@ps: socket after connect or listen successful
*@Buffer: Send buffer
*@BufferSize: Buffer size
*@Timeout: Set time out of send
*return:
*/
int P2PSendUDP(P2PSocket ps, const void *Buffer, int BufferSize, int Timeout);
P2PRecvUDP
/*
*Function describe: Use UPD method to receive P2P buffer
*@ps: socket after connect or listen successful
*@Buffer: Receive buffer
*@BufferSize: Buffer size
*@Timeout: Set time out of receive
*return:
*/
int P2PRecvUDP(P2PSocket ps, void *Buffer, int BufferSize, int Timeout);
P2PSendRDT
/*
*Function describe: Use RTD method to send buffer
*@ps: socket after connect or listen successful
*@Buffer: Send buffer
*@BufferSize: Buffer size
*@Timeout: Set time out of receive
*return:
*/
int P2PSendRDT(P2PSocket ps, const void *Buffer, int BufferSize, int Timeout);
P2PRecvRDT
/*
*Function describe: Use RTD method to receive buffer
*@ps: socket after connect or listen successful
*@Buffer: Receive buffer
*@BufferSize: Buffer size
*@Timeout: Set time out of receive
*return:
*/
int P2PRecvRDT(P2PSocket ps, void *Buffer, int BufferSize, int Timeout);