www.pudn.com > UDP文件传输.rar > canal.cpp
// canal.cpp : Defines the entry point for the console application.
//
#include "ZsP2p.h"
#include "math.h"
#include "stdlib.h"
#include "libzsp2p.h"
#include "uni_sock32.h"
CZsP2p myEvent;
#define _RECVER 1
int main(int argc, char* argv[])
{
//////////////////////////
HP2P p2p;
UNI_WORD wPort;
char recvname[512]="recver";
char username[512];
#ifdef _RECVER
//canal 192.168.12.40 recvname 3018
// 1 2 3 4
if(argc>=2)
{
wPort=3018;
strcpy(username,recvname);
if(argc>=3)
{
sprintf(username,"recv_%s",argv[2]);
if(argc>=4)
{
wPort=atoi(argv[3]);
}
}
if(p2p=P2p_Open(&myEvent,username,HSocket::InetAddr(argv[1]),4096,wPort))
{
P2p_Close(p2p);
}
}
#else
//canal 192.168.12.40 filename recvname sendname 2622
//1 2 3 4 5 6
UNI_DWORD dwFileSize;
UNI_OFFSET fileSize;
char *pname,*p;
if(argc>2)
{
HFile file;
file.OpenForRead(argv[2]);
file.GetFileSize(fileSize);
file.Close();
dwFileSize=(UNI_DWORD)fileSize;
wPort=2622;
strcpy(username,"sender");
if(argc>=4)
{
//recvname=argv[3];
sprintf(recvname,"recv_%s",argv[3]);
if(argc>=5)
{
sprintf(username,"send_%s",argv[4]);
if(argc>=6)
{
wPort=atoi(argv[5]);
}
}
}
pname=argv[2];
while(p=strstr(pname,"\\"))
{
pname=p+1;
}
if(p2p=P2p_Open(&myEvent,username,HSocket::InetAddr(argv[1]),4096,wPort))
{
if(P2p_StartSend(p2p,1,pname,dwFileSize,recvname,argv[2]))
{
printf("P2p_StartSend success!\n");
}
else
printf("P2p_StartSend failed!\n");
P2p_Close(p2p);
}
else
{
printf("P2p_Open failed!\n");
}
}
#endif
return 0;
}