²é¿´: 188  |  »Ø¸´: 1
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£

zsglly

ľ³æ (ÖøÃûдÊÖ)

[½»Á÷] ÈçºÎµã¶ÔµãʵÏÖ¶àÏ̶߳ϵãÐø´«

ÔÚÈç½ñµÄÍøÂçÓ¦ÓÃÖУ¬ÎļþµÄ´«ËÍÊÇÖØÒªµÄ¹¦ÄÜÖ®Ò»£¬Ò²Êǹ²ÏíµÄ»ù´¡¡£Ò»Ð©ÖØÒªµÄЭÒéÏñHTTP£¬FTPµÈ¶¼Ö§³ÖÎļþµÄ´«ËÍ¡£ÓÈÆäÊÇFTP£¬ËüµÄÈ«³Æ¾ÍÊÇ¡°Îļþ´«ËÍЭÒ顱£¬µ±³õµÄ¹¤³ÌʦÉè¼ÆÕâһЭÒé¾ÍÊÇΪÁ˽â¾öÍøÂç¼äµÄÎļþ´«ËÍÎÊÌ⣬¶øÇÒÒÔÆäÎȶ¨£¬¸ßËÙ£¬¼òµ¥¶øÒ»Ö±±£³ÖןܴóµÄÉúÃüÁ¦¡£×÷Ϊһ¸ö³ÌÐòÔ±£¬Ê¹ÓÃÕâЩÏÖÓеÄЭÒé´«ËÍÎļþÏ൱¼òµ¥£¬²»¹ý£¬ËüÃÇÖ»ÊÊÓÃÓÚ·þÎñÆ÷ģʽÖС£ÕâÑù£¬µ±ÎÒÃÇÏëÔÚµãÓëµãÖ®¼ä´«ËÍÎļþ¾Í²»ÊÊÓÃÁË»òÏ൱Âé·³£¬ÓÐÒ»ÖÖ´óµ¶Ð¡ÓõÄÒâζ¡£±ÊÕßÒ»Ö±ÏëѰÇóÒ»ÖÖ¼òµ¥ÓÐЧ£¬ÇҾ߱¸¶àÏ̶߳ϵãÐø´«µÄ·½·¨À´ÊµÏÖµãÓëµãÖ®¼äµÄÎļþ´«ËÍÎÊÌ⣬¾­¹ý´óÁ¿µÄ·­ÔÄ×ÊÁÏÓë²âÊÔ£¬ÖÕÓÚʵÏÖÁË£¬ÏÖ°ÑËü¹²Ïí³öÀ´£¬Óë´ó¼Ò·ÖÏí¡£
(ÎÒдÁËÒ»¸öÒÔ´ËΪ»ù´¡µÄʵÓóÌÐò£¨ÍøÂç´«Ê¥£¬°üº¬Ô´´úÂ룩£¬¿ÉÓÃÁË»ùÓÚIP/TCPµÄµçÄÔÉÏ£¬¹©´ó¼Òѧϰ¡£ÏÂÔØµØÖ·£º
http://h2osky.126.com)
ʵÏÖ·½·¨£¨VC£«£«£¬»ùÓÚTCP/IPЭÒ飩ÈçÏ£º
ÈÔ?Ó÷þÎñÆ÷Óë¿Í»§Ä£Ê½£¬Ðè·Ö±ð¶ÔÆäÉè¼ÆÓë±à³Ì¡£
·þÎñÆ÷¶Ë½Ï¼òµ¥£¬Ö÷Òª¾ÍÊǼÓÈëÊÌ´«Îļþ£¬¼àÌý¿Í»§£¬ºÍ´«ËÍÎļþ¡£¶øÄÇЩ¶ÏµãÐø´«µÄ¹¦ÄÜ£¬ÒÔ¼°ÎļþµÄ¹ÜÀí¶¼·ÅÔÚ¿Í»§¶ËÉÏ¡£
Ê×ÏȽéÂç·þÎñÆ÷¶Ë£º
×ʼÎÒÃÇÒª¶¨ÒåÒ»¸ö¼òµ¥µÄЭÒ飬Ҳ¾ÍÊǶ¨ÒåÒ»¸ö·þÎñÆ÷¶ËÓë¿Í»§¶ËÌýµÃ¶®µÄÓïÑÔ¡£¶øÎªÁ˰ÑÎÊÌâ¼ò»¯£¬ÎÒ¾ÍÈ÷þÎñÆ÷Ö»ÒªÌý¶®Á½¾ä»°£¬Ò»¾ÍÊǿͻ§Ëµ¡°ÎÒÒª¶ÁÎļþÐÅÏ¢¡±£¬¶þ¾ÍÊÇ¡°ÎÒ×¼±¸ºÃÁË£¬¿ÉÒÔ´«ÎļþÁË¡±¡£
ÓÉÓÚҪʵÏÖ¶àỊ̈߳¬±ØÐë°Ñ¹¦ÄܶÀÁ¢³öÀ´£¬ÇÒ°ü×°³ÉỊ̈߳¬Ê×ÏȽ¨Ò»¸ö¼àÌýỊ̈߳¬Ö÷Òª¸ºÔð½ÓÈë¿Í»§£¬²¢Æô¶¯ÁíÒ»¸ö¿Í»§Ï̡߳£ÎÒÓÃVC£«£«ÊµÏÖÈçÏ£º

¡¡

DWORD WINAPI listenthread(LPVOID lpparam)
{  

file://ÓÉÖ÷º¯Êý´«À´µÄÌ×½Ó×Ö
¡¡¡¡¡¡¡¡SOCKET  pthis=(SOCKET)lpparam;
file://¿ªÊ¼¼àÌý
int rc=listen(pthis,30);
file://Èç¹û´í¾ÍÏÔʾÐÅÏ¢
if(rc<0){
CString aaa;
aaa="listen´íÎó\n";
    AfxGetMainWnd()->SendMessageToDescendants(WM_AGE1,(LPARAM)aaa.GetBuffer(0),1);
aaa.ReleaseBuffer();
return 0;
  }
file://½øÈëÑ­»·£¬²¢½ÓÊÕµ½À´µÄÌ×½Ó×Ö
while(1){
file://н¨Ò»¸öÌ×½Ó×Ö£¬ÓÃÓÚ¿Í»§¶Ëhttp://h2osky.126.com
SOCKET s1;
s1=accept(pthis,NULL,NULL);
  
¡¡file://¸øÖ÷º¯Êý·¢ÓÐÈËÁªÈëÏûÏ¢
CString aa;
aa="Ò»ÈËÁªÈ룡\n";
    AfxGetMainWnd()->SendMessageToDescendants(WM_AGE1,(LPARAM)aa.GetBuffer(0),1);
aa.ReleaseBuffer();
DWORD dwthread;
file://½¨Á¢Óû§Ïß³Ì
::CreateThread(NULL,0,clientthread,(LPVOID)s1,0,&dwthread);  
}
return 0;

}
½Ó×ÅÎÒÃÇÀ´¿´Óû§Ị̈߳º
ÏÈ¿´ÎļþÏûÏ¢ÀඨÒ壺
struct fileinfo
{
int fileno;//ÎļþºÅ
int type;//¿Í»§¶ËÏë˵ʲô£¨Ç°ÃæÄÇÁ½¾ä»°£¬ÓÃ1,2±íʾ£©
long len;//Îļþ³¤¶È
int seek;//Îļþ¿ªÊ¼Î»Öã¬ÓÃÓÚ¶àÏß³Ì

char name[100];//ÎļþÃûhttp://h2osky.126.com
};
file://Óû§Ï̺߳¯Êý£º
DWORD WINAPI clientthread(LPVOID lpparam)
{
file://ÎļþÏûÏ¢
fileinfo* fiinfo;
file://½ÓÊÕ»º´æ
char* m_buf;
m_buf=new char[100];
file://¼àÌýº¯Êý´«À´µÄÓû§Ì×½Ó×Ö
SOCKET  pthis=(SOCKET)lpparam;
¡¡file://¶Á´«À´µÄÐÅÏ¢
int aa=readn(pthis,m_buf,100);
file://Èç¹ûÓдí¾Í·µ»Ø
if(aa<0){
  closesocket (pthis);
  return -1;
}
file://°Ñ´«À´µÄÐÅϢתΪ¶¨ÒåµÄÎļþÐÅÏ¢
fiinfo=(fileinfo*)m_buf;
¡¡

CString aaa;
file://¼ìÑé¿Í»§Ïë˵ʲô
switch(fiinfo->type)
{
file://ÎÒÒª¶ÁÎļþÐÅÏ¢
case 0:
file://¶ÁÎļþ
aa=sendn(pthis,(char*)zmfile,1080);
file://Óдí
if(aa<0){  
closesocket (pthis);
  return -1;
}
file://·¢ÏûÏ¢¸øÖ÷º¯Êý
aaa="ÊÕµ½LISTÃüÁî\n";
    AfxGetMainWnd()->SendMessageToDescendants(WM_AGE1,(LPARAM)aaa.GetBuffer(0),1);
break;
file://ÎÒ×¼±¸ºÃÁË£¬¿ÉÒÔ´«ÎļþÁË

case 2:
file://·¢ÎļþÏûÏ¢¸øÖ÷º¯Êý
aaa.Format("%s  Îļþ±»ÇëÇó£¡%s\n",zmfile[fiinfo->fileno].name,nameph[fiinfo->fileno]);
   AfxGetMainWnd()->SendMessageToDescendants(WM_AGE1,(LPARAM)aaa.GetBuffer(0),1);
file://¶ÁÎļþ£¬²¢´«ËÍ
readfile(pthis,fiinfo->seek,fiinfo->len,fiinfo->fileno);
file://Ìý²»¶®Äã˵ʲô
default:
aaa="½ÓÊÕЭÒé´íÎó£¡\n";
    AfxGetMainWnd()->SendMessageToDescendants(WM_AGE1,(LPARAM)aaa.GetBuffer(0),1);
break;
}

return 0;
}

/////////////http://h2osky.126.com
file://¶ÁÎļþº¯Êý
void readfile(SOCKET  so,int seek,int len,int fino)
¡¡
{
¡¡
file://ÎļþÃû
  CString myname;

¡¡
  myname.Format("%s",nameph[fino]);

CFile myFile;
¡¡
file://´ò¿ªÎļþ
myFile.Open(myname, CFile::modeRead | CFile::typeBinary|CFile::shareDenyNone);  
file://´«µ½Ö¸¶¨Î»Öá¡
myFile.Seek(seek,CFile::begin);
  char m_buf[SIZE];
  int len2;
  int len1;
len1=len;
file://¿ªÊ¼½ÓÊÕ£¬Ö±µ½·¢ÍêÕû¸öÎļþ
  while(len1>0){
len2=len>SIZE?SIZE:len;
myFile.Read(m_buf, len2);
int aa=sendn(so,m_buf,len2);
if(aa<0){  
closesocket (so);
break;
}
len1=len1-aa;
len=len-aa;
¡¡
  }
   myFile.Close();

}
·þÎñÆ÷¶Ë×îÒªµÄ¹¦Äܸ÷¼¼Êõ¾ÍÊÇÕâЩ£¬ÏÂÃæ½éÉܿͻ§¶Ë£º
¿Í»§¶Ë×îÖØÒª£¬Ò²×ÔÓ£¬Ëü¸ºÔðÏ̵߳ĹÜÀí£¬½ø¶ÈµÄ¼Ç¼µÈ¹¤×÷¡£
´ó¸ÅÁ÷³ÌÈçÏ£º
ÏÈÁ¬½Ó·þÎñÆ÷£¬½Ó×Å·¢ËÍÃüÁî1£¨¸øÎÒÎļþÐÅÏ¢£©£¬ÆäÖаüÀ¨Îļþ³¤¶È£¬Ãû×ֵȣ¬È»ºó¸ù¾Ý³¤¶È¾ö¶¨·Ö¼¸¸öÏß³ÌÏÂÔØ£¬²¢³õʹ»¯ÏÂÔØ½ø³Ì£¬½Ó×Å·¢ËÍÃüÁî2£¨¿ÉÒÔ¸øÎÒ´«ÎļþÁË£©£¬²¢¼Ç¼Îļþ½ø³Ì¡£×îºó£¬ÊÕβ¡£
ÕâÆäÖÐÓÐÒ»¸öÊ®·ÖÖØÒªµÄÀ࣬¾ÍÊÇcdownloadÀ࣬¶¨ÒåÈçÏ£º
class cdownload   
{
public:

¡¡
void createthread();//¿ªÏß³Ìhttp://h2osky.126.com
DWORD finish1();//Íê³ÉÏß³Ì
int sendlist();//·¢ÃüÁî1
downinfo doinfo;//ÎļþÐÅÏ¢£¨Óë·þÎñÆ÷¶¨ÒåÒ»Ñù£©
int startask(int n);¿ªÊ¼´«Îļþn
long m_index;
BOOL good[BLACK];
int  filerange[100];
CString fname;
CString fnametwo;
UINT threadfunc(long index);//ÏÂÔØ½ø³Ì

int sendrequest(int n);//·¢ÎļþÐÅÏ¢
cdownload(int thno1);
virtual ~cdownload();

};

[ Last edited by »ÃÓ°ÎÞºÛ on 2006-11-27 at 10:23 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

×öÈËÒªºñµÀ°¡£¡ºñµÀ°¡£¡
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zsglly

ľ³æ (ÖøÃûдÊÖ)

ÏÂÃæÏȽéÉÜsendrequest(int n)£¬ÔÚ¿ªÊ¼Ç°£¬
Ïò·þÎñÆ÷·¢»ñµÃÎļþÏûÏ¢ÃüÁÒÔ±ãÈÿͻ§¶ËÖªµÀÓÐÄÄЩÎļþ¿É´«
int cdownload::sendrequest(int n)
{
file://½¨Ì×½Ó×Ö
sockaddr_in local;
SOCKET m_socket;

int rc=0;
file://³õʹ»¯·þÎñÆ÷µØÖ·
local.sin_family=AF_INET;
local.sin_port=htons(1028);
local.sin_addr.S_un.S_addr=inet_addr(ip);
m_socket=socket(AF_INET,SOCK_STREAM,0);

  
int ret;
file://Áª½Ó·þÎñÆ÷
ret=connect(m_socket,(LPSOCKADDR)&local,sizeof(local));
file://ÓдíµÄ»°
if(ret<0){
AfxMessageBox("Áª½Ó´íÎó";
closesocket(m_socket);
return -1;
}
file://³õʹ»¯ÃüÁî
fileinfo fileinfo1;
fileinfo1.len=n;
fileinfo1.seek=50;
fileinfo1.type=1;
file://·¢ËÍÃüÁî
int aa=sendn(m_socket,(char*)&fileinfo1,100);
if(aa<0){ closesocket(m_socket);
return -1;}
file://½ÓÊÕ·þÎñÆ÷´«À´µÄÐÅÏ¢
aa=readn(m_socket,(char*)&fileinfo1,100);
if(aa<0) {closesocket(m_socket);
return -1;}
file://¹Ø±Õ
shutdown(m_socket,2);
closesocket(m_socket);

return 1;
}

ÓÐÁËÎļþÏûÏ¢ºóÎÒÃǾͿÉÒÔÏÂÔØÎļþÁË
ÔÚÖ÷º¯ÊýÖУ¬Ó÷¨ÈçÏ£º
file://ÏÂÔØµÚclno¸öÎļþ£¬²¢ÎªËü½¨Ò»¸öÐÂcdownloadÀà
down[clno]=new cdownload(clno);
file://¿ªÊ¼ÏÂÔØ£¬²¢³õʹ»¯
type=down[clno]->startask(clno);
file://½¨Á¢¸÷Ïß³Ì
createthread(clno);

½éÉÜ¿ªÊ¼·½·¨
file://¿ªÊ¼·½·¨
int cdownload::startask(int n)
{

¡¡file://¶ÁÈëÎļþ³¤¶È
doinfo.filelen=zmfile[n].length;
¡¡
file://¶ÁÈëÃû×Ö
fname=zmfile[n].name;
CString tmep;
file://³õʹ»¯ÎļþÃû
tmep.Format("\\temp\\%s",fname);


¡¡

¡¡file://¸øÖ÷º¯Êý·¢ÏûÏ¢
CString aaa;
  
aaa="ÕýÔÚ¶ÁÈ¡ "+fname+" ÐÅÏ¢£¬ÂíÉÏ¿ªÊ¼ÏÂÔØ¡£¡£¡£\n";
    AfxGetMainWnd()->SendMessageToDescendants(WM_AGE1,(LPARAM)aaa.GetBuffer(0),1);
aaa.ReleaseBuffer();
¡¡file://Èç¹ûÎļþ³¤¶ÈСÓÚ0¾Í·µ»Ø
if(doinfo.filelen<=0)return -1;
file://½¨Ò»¸öÒÔ.down½áβµÄÎļþ¼Ç¼ÎļþÐÅÏ¢
CString m_temp;
m_temp=fname+".dwon";
  
doinfo.name=m_temp;
FILE* fp=NULL;
CFile myfile;
file://Èç¹ûÊǵÚÒ»´ÎÏÂÔØÎļþ£¬³õʹ»¯¸÷¼Ç¼Îļþ

if((fp=fopen(m_temp,"r")==NULL){
¡¡

filerange[0]=0;
file://Îļþ·Ö¿é
for(int i=0;i {
  if(i>0)
filerange[i*2]=i*(doinfo.filelen/BLACK+1);
¡¡
filerange[i*2+1]=doinfo.filelen/BLACK+1;
¡¡
}
filerange[BLACK*2-1]=doinfo.filelen-filerange[BLACK*2-2];

myfile.Open(m_temp,CFile::modeCreate|CFile::modeWrite | CFile::typeBinary);

¡¡
¡¡file://дÈëÎļþ³¤¶È
myfile.Write(&doinfo.filelen,sizeof(int));
myfile.Close();
¡¡
CString temp;
for(int ii=0;ii file://³õʹ»¯¸÷½ø³Ì¼Ç¼ÎļþÐÅÏ¢£¨ÒÔ.downN½á⣩

temp.Format(".down%d",ii);
m_temp=fname+temp;
myfile.Open(m_temp,CFile::modeCreate|CFile::modeWrite | CFile::typeBinary);
file://дÈë¸÷½ø³ÌÎļþÐÅÏ¢
myfile.Write(&filerange[ii*2],sizeof(int));
myfile.Write(&filerange[ii*2+1],sizeof(int));
  myfile.Close();
¡¡
}

((CMainFrame*)::AfxGetMainWnd())->m_work.m_ListCtrl->AddItemtwo(n,2,0,0,0,doinfo.threadno);

  
}
file://Èç¹ûÎļþÒÑ´æÔÚ£¬ËµÃ÷ÊÇÐø´«£¬¶ÁÉÏ´ÎÐÅÏ¢
else
{
¡¡
file://´ò¿ªÎļþ
fread(&doinfo.filelen,sizeof(int),1,fp);

fclose(fp);

CString temp;
¡¡
m_temp=fname+".down0";
if((fp=fopen(m_temp,"r")==NULL)
  
  return 1;
else fclose(fp);
int bb;
bb=0;
file://¶Á¸÷½ø³Ì¼Ç¼µÄÐÅÏ¢
for(int ii=0;ii {
temp.Format(".down%d",ii);
m_temp=fname+temp;
¡¡
myfile.Open(m_temp,CFile::modeRead | CFile::typeBinary);
myfile.Read(&filerange[ii*2],sizeof(int));
myfile.Read(&filerange[ii*2+1],sizeof(int));
  myfile.Close();
¡¡

  bb= bb+filerange[ii*2+1];
CString temp;
¡¡


}
if(bb==0)return 1;
doinfo.totle=doinfo.filelen-bb;
¡¡
¡¡

¡¡


¡¡
¡¡

((CMainFrame*)::AfxGetMainWnd())->m_work.m_ListCtrl->AddItemtwo(n,2,doinfo.totle,1,0,doinfo.threadno);

}

¡¡file://½¨Á¢ÏÂÔØ½áÊø½ø³Ìtimethread£¬ÒÔ¹ÜÏÖ¸÷½ø³Ì½áÊøÊ±¼ä¡£
DWORD dwthread;
::CreateThread(NULL,0,timethread,(LPVOID)this,0,&dwthread);

return 0;
}
file://ÏÂÃæ½éÉܽ¨Á¢¸÷½ø³Ìº¯Êý£¬ºÜ¼òµ¥£ºhttp://h2osky.126.com
void CMainFrame::createthread(int threadno)
{
DWORD dwthread;
file://½¨Á¢BLACK¸ö½ø³Ì
for(int i=0;i {
m_thread[threadno]= ::CreateThread(NULL,0,downthread,(LPVOID)down[threadno],0,&dwthread);
¡¡
¡¡
¡¡
}


}
file://downthread½ø³Ìº¯Êý

DWORD WINAPI downthread(LPVOID lpparam)
{
cdownload* pthis=(cdownload*)lpparam;
file://½ø³ÌÒýË÷£«1
InterlockedIncrement(&pthis->m_index);
file://Ö´ÐÐÏÂÔØ½ø³Ì
pthis->threadfunc(pthis->m_index-1);
return 1;
£ý
ÏÂÃæ½éÉÜÏÂÔØ½ø³Ìº¯Êý,×î×îºËÐĵĶ«Î÷ÁË
UINT cdownload::threadfunc(long index)
{
file://³õʹ»¯Áª½Ó
sockaddr_in local;
SOCKET m_socket;

int rc=0;
¡¡
local.sin_family=AF_INET;
local.sin_port=htons(1028);
local.sin_addr.S_un.S_addr=inet_addr(ip);
m_socket=socket(AF_INET,SOCK_STREAM,0);

¡¡
int ret;
file://¶ÁÈ뻺´æ
char* m_buf=new char[SIZE];
  int re,len2;
  fileinfo fileinfo1;
file://Áª½Ó
ret=connect(m_socket,(LPSOCKADDR)&local,sizeof(local));
file://¶ÁÈë¸÷½ø³ÌµÄÏÂÔØÐÅÏ¢
fileinfo1.len=filerange[index*2+1];
fileinfo1.seek=filerange[index*2];
fileinfo1.type=2;
fileinfo1.fileno=doinfo.threadno;
¡¡
re=fileinfo1.len;
¡¡

¡¡file://´ò¿ªÎļþ¡¡
CFile destFile;
FILE* fp=NULL;
file://ÊǵÚÒ»´Î´«µÄ»°
if((fp=fopen(fname,"r")==NULL)

destFile.Open(fname, CFile::modeCreate|CFile::modeWrite | CFile::typeBinary|CFile::shareDenyNone);

else

file://Èç¹ûÎļþ´æÔÚ£¬ÊÇÐø´«
destFile.Open(fname,CFile::modeWrite | CFile::typeBinary|CFile::shareDenyNone);
file://ÎļþÖ¸ÕëÒÆµ½Ö¸¶¨Î»ÖÃ
destFile.Seek(filerange[index*2],CFile::begin);
file://·¢ÏûÏ¢¸ø·þÎñÆ÷£¬¿ÉÒÔ´«ÎļþÁË
sendn(m_socket,(char*)&fileinfo1,100);

CFile myfile;
¡¡file://³õʹ»¯¸÷½ø³Ì½ø¶ÈÐÅÏ¢http://h2osky.126.com
CString temp;
temp.Format(".down%d",index);
m_temp=fname+temp;

¡¡file://µ±¸÷¶Î³¤¶È»¹²»Îª0ʱ
while(re>0){
¡¡
¡¡

len2=re>SIZE?SIZE:re;
¡¡
  file://¶Á¸÷¶ÎÄÚÈÝ
int len1=readn(m_socket,m_buf,len2);
file://ÓдíµÄ»°
if(len1<0){
  closesocket(m_socket);
  break;
}
¡¡
file://дÈëÎļþ
destFile.Write(m_buf, len1);  


file://¸ü¸Ä¼Ç¼½ø¶ÈÐÅÏ¢

filerange[index*2+1]-=len1;
filerange[index*2]+=len1;
file://ÒÆ¶¯¼Ç¼ÎļþÖ¸Õ뵽ͷ
myfile.Seek(0,CFile::begin);
file://дÈë¼Ç¼½ø¶È
myfile.Write(&filerange[index*2],sizeof(int));
myfile.Write(&filerange[index*2+1],sizeof(int));

¡¡file://¼õÈ¥Õâ´Î¶ÁµÄ³¤¶È

re=re-len1;

¡¡file://¼ÓÎļþ³¤¶È
doinfo.totle=doinfo.totle+len1;
¡¡

¡¡
  
¡¡

};
file://Õâ¿éÏÂÔØÍê³É£¬ÊÕβ
¡¡
myfile.Close();
destFile.Close();
delete [] m_buf;
shutdown(m_socket,2);
¡¡
¡¡
if(re<=0)good[index]=TRUE;
return 1;
}
µ½Õâ¿Í»§¶ËµÄÖ÷Ҫģ¿éºÍ»úÖÆÒÑ»ù±¾½éÉÜÍꡣϣÍûºÃºÃÌå»áÒ»ÏÂÕâÖÖ¶àÏ̶߳ϵãÐø´«µÄ·½·¨¡£
ÎÒдÁËÒ»¸öÒÔ´ËΪ»ù´¡µÄʵÓóÌÐò£¨ÍøÂç´«Ê¥£¬°üº¬Ô´´úÂ룩£¬¿ÉÓÃÁË»ùÓÚIP/TCPµÄµçÄÔÉÏ£¬¹©´ó¼Òѧϰ¡£
×öÈËÒªºñµÀ°¡£¡ºñµÀ°¡£¡
2Â¥2005-12-29 19:23:55
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ zsglly µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 300·Ö£¬²ÄÁÏ£¬Çóµ÷¼Á£¬Ó¢Ò»Êý¶þ +3 ³¬ÔÞµÄ 2026-03-24 3/150 2026-03-24 17:15 by Á¬ÑóÑóÑó
[¿¼ÑÐ] ²ÄÁÏѧ˶£¬Çóµ÷¼Á 6+3 ÌǺù«888ll 2026-03-22 7/350 2026-03-24 17:11 by helloÆßÆß
[¿¼ÑÐ] 292Çóµ÷¼Á +4 ¶ì¶ì¶ì¶î¶î¶î¶î¶ 2026-03-24 4/200 2026-03-24 16:41 by peike
[¿¼ÑÐ] 291Çóµ÷¼Á +3 HanBeiNingZC 2026-03-24 3/150 2026-03-24 16:34 by barlinike
[¿¼ÑÐ] 274Çóµ÷¼Á +4 ¹Ë¾ÅóÏҪǫÐé 2026-03-24 4/200 2026-03-24 16:28 by barlinike
[²ÄÁϹ¤³Ì] Ò»Ö¾Ô¸C9²ÄÁÏÓ뻯¹¤×¨Òµ×Ü·Ö300Çóµ÷¼Á +4 Âü111 2026-03-24 5/250 2026-03-24 15:44 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] 284Çóµ÷¼Á +10 Zhao anqi 2026-03-22 10/500 2026-03-24 00:08 by Equinoxhua
[¿¼ÑÐ] 327Çóµ÷¼Á +5 prayer13 2026-03-23 5/250 2026-03-23 22:11 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] Ò»Ö¾Ô¸070300Õã´ó»¯Ñ§358·Ö£¬Çóµ÷¼Á£¡ +4 ËÖËÖÓã.. 2026-03-21 4/200 2026-03-23 08:12 by Iveryant
[¿¼ÑÐ] Ò»Ö¾Ô¸Î÷°²½»Í¨´óѧ²ÄÁϹ¤³Ìרҵ 282·ÖÇóµ÷¼Á +11 ·ãÇÅZL 2026-03-18 13/650 2026-03-22 20:26 by edmund7
[¿¼ÑÐ] ¿¼Ñе÷¼Á +4 À´ºÃÔËÀ´À´À´ 2026-03-21 4/200 2026-03-22 12:15 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] 285Çóµ÷¼Á +6 ytter 2026-03-22 6/300 2026-03-22 12:09 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] Ò»Ö¾Ô¸Éî´ó£¬0703»¯Ñ§£¬×Ü·Ö302£¬Çóµ÷¼Á +4 ÆßÔÂ-ÆßÆß 2026-03-21 4/200 2026-03-21 18:20 by ѧԱ8dgXkO
[¿¼ÑÐ] 302Çóµ÷¼Á +12 ºôºôºô¡£¡£¡£¡£ 2026-03-17 12/600 2026-03-21 17:29 by ColorlessPI
[¿¼ÑÐ] 268Çóµ÷¼Á +9 ¼òµ¥µã0 2026-03-17 9/450 2026-03-21 15:37 by lature00
[¿¼ÑÐ] 22 350 ±¾¿Æ985Çóµ÷¼Á£¬ÇóÀϵÇÊÕÁô +3 ÀîéóÄÐ003 2026-03-20 3/150 2026-03-21 13:28 by ²«»÷518
[¿¼ÑÐ] 085601µ÷¼Á 358·Ö +3 zzzzggh 2026-03-20 4/200 2026-03-21 10:21 by luoyongfeng
[¿¼ÑÐ] 332Çóµ÷¼Á +4 ydfyh 2026-03-17 4/200 2026-03-21 02:20 by JourneyLucky
[¿¼ÑÐ] Çóµ÷¼Á +3 Ma_xt 2026-03-17 3/150 2026-03-21 02:05 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸¼ªÁÖ´óѧ²ÄÁÏѧ˶321Çóµ÷¼Á +11 Ymlll 2026-03-18 15/750 2026-03-20 19:40 by ¶¡¶¡*
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û