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