最近做一个程序需要传送文件,在网上找了好久也没找到好用的方案,于是自己写了一个,与大家分享,希望大家帮忙改进,拍砖欢迎~
文件采取分块发送,每块单独校验,能够保证文件的完整性.同时还提供磁盘缓存功能.
经过实际测试,通过局域网(有线和WiFi)传送一个5G左右的文件取得成功.
最大缺点是CPU占用率过高,测试中发送端(939AMD3000+)达到40%,接收端(双核T9600、939AMD3200+)分别为15%和35%左右.
性能确实还有待改进....
贴出部分代码,其他的放附件里:
一个C#文件传输模块,支持断点续传using System;
一个C#文件传输模块,支持断点续传
using System.Collections.Generic;
一个C#文件传输模块,支持断点续传
using System.IO;
一个C#文件传输模块,支持断点续传
using System.Linq;
一个C#文件传输模块,支持断点续传
using System.Net.Sockets;
一个C#文件传输模块,支持断点续传
using System.Text;
一个C#文件传输模块,支持断点续传
using System.Threading;
一个C#文件传输模块,支持断点续传
namespace Takamachi660.FileTransmissionSolution
}

VS2008完整项目文件,包括类库和一个简单的Demo:
/Files/takamachi660/SendFileTest_v0.6.rar

相关文章: