about TransmitFile
-
I want to use API TransmitFile to build a C/S structure ,who can give me an example.I have written a program but client program has bug,client codes as below: UINT ClientThread(LPVOID lv) { SOCKET s=(SOCKET)lv; CFile f; bool IsOpen=false; char buf[1024*128]="";int count=0; while (true) { buf[0]='\0'; int ret=recv(s,buf,sizeof(buf),0); if(SOCKET_ERROR == ret) { CString s; s.Format("%d",WSAGetLastError()); AfxGetMainWnd()->SetWindowText(s); break; } else { CString str(buf,ret); int i=str.Find(':'); if(-1 != i) { if(f.Open(str.Right(str.GetLength()-i- 1),CFile::modeCreate|CFile::modeWrite) == 0) break; IsOpen=true; } else if("FileTranferOver" == str) break; else if(IsOpen) { try { f.Write(buf,ret); } catch (...) { str.Format("%d",GetLastError()); MessageBox(NULL,str,"Error",MB_OK); } } else continue; count+=ret; } } if(IsOpen) f.Close(); CString str1; str1.Format("%d",count); AfxGetMainWnd()->SetWindowText(str1); return 0; }