c#如何来循环接收客户端发送到服务器端的大量的字节,在客户端,我是发送一个文件到服务器端的,无论是在客户端还是 在服务器端,都是用socket发送和接收的,在服务器段想用一个循环来接收,直到接收完毕,那么这个循环如何来写呢
谢谢

解决方案 »

  1.   

    发送文件端:
    private void transfer(ref NetworkStream stream, string path)
            {
                filestream = new FileStream(path, FileMode.Open, FileAccess.Read);
                int number;
                byte[] bb = new byte[1024];
                while ((number = filestream.Read(bb, 0, 1024) )!= 0)
                {
                    stream.Write(bb, 0, 1024);
                    stream.Flush();
                    bb=new byte[1024];
                }            filestream.Close();
                stream.Close();
            }接收文件端:
     private void down(ref NetworkStream stream)
            {
                try
                {
                    int readNumber = 0;
                    byte[] bye = new byte[1024];
                    while ((readNumber = stream.Read(bye, 0, 1024)) > 0)
                    {
                        filestream.Write(bye, 0, readNumber);
                        receive += bye.Length;
                        filestream.Flush();                    
                    }
                    filestream.Close();                           }
                catch (Exception ee)
                {
                    MessageBox.Show(ee.Message);
                }
            }
    如果要循环监听的说,使用线程应该不错。