在利用socket进行点对点文件发送文件时,应该用什么方法获取文件流GetStream()是什么意思?NetworkStream ns = myclient.GetStream();

解决方案 »

  1.   

    GetStream()
    就是用于发送和接收的流
      

  2.   

    public void listenPort()
      {
       TcpListener listener=new TcpListener(2626);
       listener.Start();
       Socket s=listener.AcceptSocket();
       FileStream filestream=new FileStream(savePath,FileMode.OpenOrCreate,FileAccess.Write);
          NetworkStream stream=new NetworkStream(s);
       //定义缓冲区
       byte[] bb=new byte[1024]; 
       //循环读socket流
       int tt=0;
       //进度条
       processB.Visible=true;
       processB.BackColor=System.Drawing.SystemColors.Control;
       int stepoff;
       if(romeFilel[romeFilel.Length-1]=='K')
        stepoff=1024;
       else
        stepoff=1024*1024;
       int totalste=int.Parse(romeFilel.Substring(0,romeFilel.Length-1));
       progressBar2.Maximum=totalste;
       progressBar2.Step=totalste/20;
       float recbytes=0;
       while((tt=stream.Read(bb,0,1024))!=0)
       {//接收数据
        filestream.Write(bb,0,tt);
        filestream.Flush(); 
        //更新进度条
        recbytes+=(float)tt/stepoff;
        progressBar2.Value=(int)recbytes;
       }
       filestream.Close();
       processB.Visible=false;
       MessageBox.Show("文件接收完毕!");
      }
    在我的局域网QQ中有传文件功能 
    全部代码见:http://www.cnblogs.com/tuyile006/archive/2006/12/30/607823.aspx