none
总是提示“Read File Error” RRS feed

  • 问题

  • 在服务器端,多线程传输文件时,总是提示“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( );
    }

    2010年9月21日 18:27

答案