www.pudn.com > UDP文件传输.rar > libzsp2p.h
#ifndef LIB_ZS_P2P_H
#define LIB_ZS_P2P_H 1
//////////////////////////////////////////////////////
//文件名 : libzsp2p.h
//功能 : 中搜UDP文件传输简化接口
//创建 : 2004.11.14
//修改日期 : 2004.11.14
//作者 : 韩国静
//
#include "ZsP2pEventHandle.h"
/////////////////////////////////////////////////
//
// P2P句柄
//
////////////////////////////////////////////////
typedef struct st_hp2p{} *HP2P;
///////////////////////////////////////////////////////////////////////
// 函数名:P2p_OpenEx
// 功能:打开本地端口,并登录到指定服务器,
// 参数:
// pEvent,事件处理接口指针,详见ZsP2pEventHandle.h文件中的说明
// username,客户端自己的用户名,服务器以此唯一区分客户端
// dwSvrIp 服务器的IP地址
// dwSvrPort 服务器的UDP端口号
// dwLocalIp 本地IP
// dwLocalPort 本地端口,若有未释放的P2P句柄,本地IP和端口参数将被忽略
//
// 返回:P2P句柄,请勿假设两次调用回返回相同的值
//
// 注:可以不同服务器地址多次调用此函数
////////////////////////////////////////////////////////////////////////
HP2P P2p_OpenEx(ZsP2pEventHandle *pEvent,char *username,UNI_DWORD dwSvrIp,UNI_WORD dwSvrPort,UNI_WORD dwLocalPort,UNI_DWORD dwLocalIp);
////////////////////////////////////////////////////////////////////////
// 函数名:P2p_Open
//
//
// 注:它仅以默认的本地IP调用P2p_OpenEx
/////////////////////////////////////////////////////////////////////
HP2P P2p_Open(ZsP2pEventHandle *pEvent,char *username,UNI_DWORD dwSvrIp,UNI_WORD dwSvrPort,UNI_WORD dwLocalPort);
/////////////////////////////////////////////////////////
// 函数名:P2p_Close
// 功能:释放一P2P占用的资源
//
//
//////////////////////////////////////////////////
void P2p_Close(HP2P hP2p);
/////////////////////////////////////////////////////////////////////////////////////////////////
// 函数名:P2p_StartSend
// 功能:告知p2p发送一个文件给toWho
// 参数:
// dwFileID 由发送方定义的文件ID,只有发送方能理解且保证在发送方唯一确定一个文件
// fileName 用来显示给接收方的文件名。
// dwFileSize 文件字节大小
// toWho 接收方用户名,服务器用于找到接收方
// pathName 文件全路径名,传给回调用函数,用于读取文件内容
//
///////////////////////////////////////////////////////////////////////
UNI_BOOL P2p_StartSend(HP2P hP2p,UNI_DWORD dwFileID,char *fileName,UNI_DWORD dwFileSize,char *toWho,char *pathName);
/////////////////////////////////////////////////////////////////////////////////////////////////
// 函数名:P2p_CancelSend
// 功能:告知p2p取消发送给toWho文件
// 参数:
// dwFileID 由发送方定义的文件ID,只有发送方能理解且保证在发送方唯一确定一个文件
// toWho 接收方用户名,服务器用于找到接收方,
//
///////////////////////////////////////////////////////////////////////
void P2p_CancelSend(HP2P hP2p,UNI_DWORD dwFileID,char *toWho);
/////////////////////////////////////////////////////////////////////////////////////////////////
// 函数名:P2p_StartRecv
// 功能:告知p2p开始接收一个文件
// 参数:
// dwFileID 由发送方定义的文件ID,只有发送方能理解且保证在发送方唯一确定一个文件
// fileName 发送方用来显示给接收方的文件名。(此处不用)
// dwFileSize 文件字节大小
// fromWho 发送方用户名,服务器用于找到发送方
// pathName 文件全路径名,传给回调用函数,用于保存文件内容
// dwStartOffset 文件开始偏移,网络中只传输此偏移以后的文件内容
//
///////////////////////////////////////////////////////////////////////
UNI_BOOL P2p_StartRecv(HP2P hP2p,UNI_DWORD dwFileID,char *fromWho,char *fileName,char *pathName,UNI_DWORD dwStartOffset);
/////////////////////////////////////////////////////////////////////////////////////////////////
// 函数名:P2p_CancelRecv
// 功能:告知p2p停止接收文件
// 参数:
// dwFileID 由发送方定义的文件ID,只有发送方能理解且保证在发送方唯一确定一个文件
// fromWho 发送方用户名,服务器用于找到发送方,
//
///////////////////////////////////////////////////////////////////////
void P2p_CancelRecv(HP2P hP2p,UNI_DWORD dwFileID,char *fromWho);
////////////////////////////////////////////////////////
#endif