发送端的代码 bufferSize=20096; Stream stream = new FileStream(fileName, FileMode.Open);
int size = 0;//初始化读取流变量
long readLength = 0;//初始化已经读取的字节变量
try
{
//从文件读字节、向流写字节
while (readLength < fileLength/*文件总大小/)
{
byte[] fileBuffer = new byte[bufferSize];
size = stream.Read(fileBuffer, 0, bufferSize);
nks.Write(fileBuffer, 0, size);
readLength += size;
showMessage(readLength, fileLength);
}
stream.Close();
接收端的代码 bufferSize=20096;
int size = 0;
int readL = 0;
byte[] fileByte = new byte[bufferSize];
stream = new FileStream(dirPath, FileMode.OpenOrCreate);
while ((size = nks.Read(fileByte, 0, bufferSize)) > 0)
{ stream.Write(fileByte, 0, size);
readL += size;
showMessage(readL, fileLength); }
stream.Close();测试没有问题的,读写都正常,切很稳定,但是局域网传输一个400MB的影视文件要用600秒,是否可以进一步优化呢?
int size = 0;//初始化读取流变量
long readLength = 0;//初始化已经读取的字节变量
try
{
//从文件读字节、向流写字节
while (readLength < fileLength/*文件总大小/)
{
byte[] fileBuffer = new byte[bufferSize];
size = stream.Read(fileBuffer, 0, bufferSize);
nks.Write(fileBuffer, 0, size);
readLength += size;
showMessage(readLength, fileLength);
}
stream.Close();
接收端的代码 bufferSize=20096;
int size = 0;
int readL = 0;
byte[] fileByte = new byte[bufferSize];
stream = new FileStream(dirPath, FileMode.OpenOrCreate);
while ((size = nks.Read(fileByte, 0, bufferSize)) > 0)
{ stream.Write(fileByte, 0, size);
readL += size;
showMessage(readL, fileLength); }
stream.Close();测试没有问题的,读写都正常,切很稳定,但是局域网传输一个400MB的影视文件要用600秒,是否可以进一步优化呢?
解决方案 »
- 多对数(a,b),(x,y),(a,b)等我用什么来存储根据第一个数能方便的查找到第二个数?
- 请问.NET有没有自带的Telnet库?
- 彻底没思路了,各位高手给个思路。谢谢各位~!
- winform程序中的DataGrid,如何指定某一特定列的背景颜色
- XML文件读取的问题。
- ListView碰到制表符显示就会出问题怎么办?
- 错误 1 未能加载文件或程序集“BLL”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
- 请问什么地方有C#函数库下载?
- 我这有一抗日宣传片,哪位兄弟有ftp,我传上去,要大家下载
- 高手请进,如何实现两个树控件节点之间的画线,在线等待,急!!!谢谢了
- C# 如何获取控制台打印内容
- WEBBrowser.Navigate(url)的URL问题
bufferSize 最好能够自适应。