在服务器端,多线程传输文件时,总是提示“Read File ERROR ”.请指明错误原因 并告知解决办法,先谢过了
以下是多线程代码
void SendThread( int index)
{
CFile file;
char data[ReadSize];
long BeginPos,Size;
long FileLength;
long ReadOnce,LeftToRead,count;
if(!file.Open(fn,CFile::modeRead|CFile::shareDenyNone) )
{
AfxMessageBox("Read File Error.");
return ;
}
FileLength=(long)file.GetLength( );
sendSockets[index-1].Send(&FileLength,4);
sendSockets[index-1].Send(fn,40);
GetBeginPos(5,index,FileLength,BeginPos,Size);
file.Seek(BeginPos,CFile::begin);
LeftToRead=Size;
while( LeftToRead>0 )
{
ReadOnce=(LeftToRead>ReadSize)?ReadSize:LeftToRead;
count=file.Read(data,ReadOnce);
while( (SOCKET_ERROR==sendSockets[index-1].Send(data,count) ))
{
}
LeftToRead=LeftToRead-count;
}
file.Close( );
}