紧急求助:关于Remoting的文件传输问题
现在有个项目中想用remoting实现下面这样一个功能:
在server端有一个方法,要经过一系列复杂的运算后形成了一个比较大的文件(5M-20M)的二进制数据文件,然后再通过Remoting传输到client, 该如何实现?
我现在是用下面的办法做的:
在一个RemoteObject类中实现了这样的一个方法,由于通过Remoting无法返回FileStream等对象,所以只能返回byte数组,但这样的话,传输大文件时效率很差,一个7M的文件在100M网络环境下还要用20-30秒,而需求中要求对于10M数据将时间控制在5秒之内,有什么好办法么?谢谢!
public byte[] ReadFile(string filePath)
{
FileInfo fileinfo = new FileInfo(filePath);
BufferedStream inStream = new BufferedStream(new FileStream(filePath, FileMode.Open));
byte []buf = new byte[fileinfo.Length];
inStream.Read(buf, 0, (int)fileinfo.Length);
inStream.Close();
return buf;
}
{
FileInfo fileinfo = new FileInfo(filePath);
BufferedStream inStream = new BufferedStream(new FileStream(filePath, FileMode.Open));
byte []buf = new byte[fileinfo.Length];
inStream.Read(buf, 0, (int)fileinfo.Length);
inStream.Close();
return buf;
}
----==== Email: slofslb (GTD) qq.com 请将(GTD)换成@ ====----
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
作者:申龙斌的程序人生
---- 魔方、桥牌、象棋、游戏人生...
---- BASIC、C++、JAVA、C#、Haskell、Objective-C、Open Inventor、程序人生...
---- GTD伴我实现人生目标
---- 区块链生存训练
---- 用欧拉计划学Rust编程
---- 申龙斌的读书笔记(2011-2019)
----