我正在尝试使用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)
我怀疑问题在于转移不是异步完成的