Server 端 发送文件
Client    接受文件
想将Client的接受文件代码放到一个线程中!
不放进线程的时候可以成功传输,放进来就出错(运行时)!
请教高手们指点指点!很郁闷,这是我的毕业设计,请大家帮帮忙了!谢谢!
(ps我第一次发帖不知道怎么给分,大家顺便告诉我谢谢!)Server的发送程序 CFile myFile;
if(!myFile.Open("c:\\abc.bmp", CFile::modeRead | CFile::typeBinary))
{
AfxMessageBox("文件不存在!",MB_OK|MB_ICONERROR);
return;
}
SOCKET_STREAM_FILE_INFO StreamFileInfo;
WIN32_FIND_DATA             FindFileData;

FindClose(FindFirstFile("c:\\abc.bmp",&FindFileData));
memset(&StreamFileInfo,0,sizeof(SOCKET_STREAM_FILE_INFO));
strcpy(StreamFileInfo.szFileTitle,myFile.GetFileTitle());

StreamFileInfo.dwFileAttributes     =       FindFileData.dwFileAttributes;
StreamFileInfo.ftCreationTime       =       FindFileData.ftCreationTime;
StreamFileInfo.ftLastAccessTime     =       FindFileData.ftLastAccessTime;
StreamFileInfo.ftLastWriteTime      =       FindFileData.ftLastWriteTime;
StreamFileInfo.nFileSizeHigh        =       FindFileData.nFileSizeHigh;
StreamFileInfo.nFileSizeLow         =       FindFileData.nFileSizeLow;
sockRecv1.Send(&StreamFileInfo,sizeof(SOCKET_STREAM_FILE_INFO));

UINT dwRead=0;
while(dwRead<StreamFileInfo.nFileSizeLow)
{
byte* data = new byte[1024];
UINT dw=myFile.Read(data, 1024);
sockRecv1.Send(data, dw);
dwRead+=dw;
}
myFile.Close();Client的接受程序!!!!!!!!!!!!!!!!!!!!!!!
就是它惹的祸!!!!!!!!!!!!!!!!!!!!
不放尽心的进程是好使的!放进去就运行出错!
SOCKET_STREAM_FILE_INFO StreamFileInfo;
sockClient1.Receive(&StreamFileInfo,sizeof(SOCKET_STREAM_FILE_INFO));  //接受相关文件信息

CFile destFile("d:\\abc.bmp", CFile::modeCreate | CFile::modeWrite | CFile::typeBinary);

UINT dwRead = 0;
while(dwRead<StreamFileInfo.nFileSizeLow)
{
byte* data = new byte[1024];
memset(data,0,1024);

UINT dw=sockClient1.Receive(data, 1024);
destFile.Write(data, dw);

dwRead+=dw;
}

SetFileTime((HANDLE)destFile.m_hFile,&StreamFileInfo.ftCreationTime,
&StreamFileInfo.ftLastAccessTime,&StreamFileInfo.ftLastWriteTime);
destFile.Close();
SetFileAttributes("d:\\abc.bmp",StreamFileInfo.dwFileAttributes);谢谢各位了!!