C#网络客户端上传速度
我想知道是否有可能增加WebClient异步数据上传的缓冲区大小,因为目前它的最大速度为320kB/s 我当前的代码:C#网络客户端上传速度,c#,performance,upload,webclient,C#,Performance,Upload,Webclient,我想知道是否有可能增加WebClient异步数据上传的缓冲区大小,因为目前它的最大速度为320kB/s 我当前的代码: using (WebClient Client = new WebClient()) { byte[] Buffer = File.ReadAllBytes(this.WorkItem.FileLocation); Client.UploadProgressChanged += new UploadProgressChangedEventHandler(Cli
using (WebClient Client = new WebClient())
{
byte[] Buffer = File.ReadAllBytes(this.WorkItem.FileLocation);
Client.UploadProgressChanged += new UploadProgressChangedEventHandler(Client_UploadProgressChanged);
Client.UploadDataCompleted += new UploadDataCompletedEventHandler(Client_UploadDataCompleted);
Client.UploadDataAsync(new Uri("-snip-"), Buffer);
}
编辑连接不是限制因素。(它的300位连接,web服务器以大约30-40mB/s的速度推送内容)如果您想要更多地控制数据的缓冲方式,您需要使用
HttpWebRequest
类。使用该类,您可以选择从文件流中读取的读取缓冲区,然后选择写入网络流的量。进行4MB的读取和32KB的写入对于最大限度地提高我的网络吞吐量是最理想的(尽管您必须自己进行基准测试,以查看哪些缓冲区在您的场景中工作得最好)。以及您的连接速度如何?您确定这不是网络/连接的限制吗?0.3Mbps的上行声音对于许多连接来说都是正确的…重新编辑;这是你在自言自语吗?几乎任何其他组合都可能会有其他因素制约您……我已经在同一数据中心测试了专用服务器对其他专用服务器的连接,并测试了我对专用服务器的连接。两种情况下的速度相同。