小编ImS*_*low的帖子

无法使用C#NetworkStream传输大文件

我正在尝试使用C#类NetworkStream传输数据库,但每次都会转换不同数量的字节.即使数据库很小(388KB),也只有一部分传递给客户端.传递一个小文本文件没有问题.

服务器:

 NetworkStream netStream = client.GetStream();
 byte[] file = File.ReadAllBytes(Directory.GetCurrentDirectory() +   "\\viruses_database.accdb");
 netStream.Write(file, 0, file.Length);
Run Code Online (Sandbox Code Playgroud)

客户:

NetworkStream netStream=client.GetStream();
Stream stream = new FileStream(Directory.GetCurrentDirectory() + "\\viruses_database.accdb", FileMode.Create, FileAccess.ReadWrite);
Byte[] bytes = new Byte[1024];

 int length=bytes.Length;
 int cnt = 0;

 while (netStream.CanRead && length==bytes.Length)
 {
     length = netStream.Read(bytes, 0, bytes.Length);
     stream.Write(bytes, 0, bytes.Length);
     cnt++;
 }
 stream.Close();
Run Code Online (Sandbox Code Playgroud)

我怀疑问题在于转移不是异步完成的

c# networking

2
推荐指数
1
解决办法
161
查看次数

标签 统计

c# ×1

networking ×1