传输文件
定义
定义
命名空间:
TouchSocket.Dmtp.FileTransfer <br/>
安装:
dotnet add package TouchSocket.Core
一、说明
文件传输是每个框架都需要的功能,也是检验一个框架性能的非常重要的指标。
本组件则是基于Dmtp,开辟了全双工对点文件传输。即,当客户端连接服务器以后,客户端可以向服务器请求、推送文件,服务器也能向客户端请求,推送文件。甚至,客户端之间,也可以互相请求,推送文件。
其特点包括:
- 全双工对点文件传输。即:客户端、服务器、其他客户端三者之间,可以互相推送、请求文件。
- 高性能、低GC。整个传输过程,将内存池用到极致,极大的减少不必要的GC。本地电脑实测传输速度达到1.2Gb/秒。
- 全平台支持。Windows、Android、Unity3D(除webgl)全部支持。
- 支持任意大小的文件传输(实测100Gb没有问题)。
- 支持断点续传。
- 支持传输限速。
- 支持文件多链路、多线程传输 。
二、性能
可以看到,下图正在上传一个Window的系统镜像文件,大约4.2Gb,传输速度已达到800Mb/s,GC基本上没有释放,性能非常强悍(中间有稍微停顿,因为程序在获取文件MD5值)。
