技术开发 频道

遇到了在c#中socket如何实现大文件传输

    【IT168技术文档】

 接收端

 private void Receive(Socket socket)

 {

 NetworkStream ns = new NetworkStream(socket);

 FileStream fs = new FileStream("c:\\file.txt", FileMode.OpenOrCreate);

 bool isRead = true;

 while (isRead)

 {

 int count = ns.Read(this._receiveBuf, 0, this._receiveBuf.Length);

 int datanum = 0;

 datanum = BitConverter.ToInt32(this._receiveBuf, 0);  //从buffer中的前4个字节读出count

 if (datanum > 0)                                      //确定每次要接受多少字节数

 {

 fs.Write(this._receiveBuf, 4, datanum);

 }

 else                              //如果接受字节数为0 就推出

 {

 isRead = false;

 }

 }

 this.txtFile.Text = "文件传输成功";

 fs.Close();

 }

 ---------------------

0
相关文章