程序写清楚一点:NetworkStream myStream= new NetworkStream(newSock);
byte[] fileBuffer = new Byte[filesize];
myStream.Read(fileBuffer,0,fileBuffer.Length);
FileStream savefileStream = new FileStream saveFileDialog.FileName,FileMode.OpenOrCreate);
savefileStream.Write(fileBuffer,0,fileBuffer.Length);

解决方案 »

  1.   

    我这样写了一下,但不怎么行,请问有用新的线程或Timer的吗?
    if(saveFileDialog.ShowDialog() == DialogResult.OK)
    {
    FileName=saveFileDialog.FileName;
    if(FileName!= "")
    {
    int fbytes=Convert.ToInt32(ChatInfo[3]);
    progressBar1.Maximum=fbytes;
    progressBar1.Minimum=1;
    progressBar1.Step=1;
    panelProgress.Visible=true;
    NetworkStream myStream= new NetworkStream(newSock);
    // initializes and assigns the ReadBuffer with the
    // length of the file
    // Creates a new object for fileStream with File open mode
    byte[] mbyte  = new Byte[fbytes];
    int startmbyte = 0;
    while(fbytes>0)
    {
    myStream.Read(mbyte,startmbyte,32);
    startmbyte+=32;
    fbytes-=32;
    progressBar1.Value+=32;
    }
    FileStream fstrm = new FileStream(FileName,FileMode.OpenOrCreate,FileAccess.Write);
    fstrm.Write(mbyte,0,startmbyte);
    myStream.Close();
    fstrm.Close();
    progressBar1.Value=progressBar1.Maximum;
    panelProgress.Visible=false;
    }
    }
      

  2.   

    实际上你应该异步读网络流然后
    监视网络流的position旧可以了,
      

  3.   

    To:xiaha3(夏)   请问有异步读方面的实际例子吗?
      

  4.   

    ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpconinvokingwebservicesasynchronously.htm