تست سرعت دانلود اینترنت با استفاده دستورات #C و VB.Net در Asp.Net
یکشنبه 17 اسفند 1393در این مقاله نحوه چک کردن سرعت دانلود با استفاده از دستورات #C و VB.Net در Asp.Net را شرح می دهیم .
یک فایل با حجم مشخص ممکن است از یک سرور 10-5 بار دانلود میشود و همچنین مدت زمان دانلود نیز ذکر میشود .در آخر میانگین سرعت دانلود را به عنوان سرعت تقریبی ذکر میشود .
نکته : این یک راه ساده برای پی بردن به سرعت تقریبی دانلود میباشد , اما یک اقدام دقیق برای به دست آوردن سرعت اینترنت نمی باشد , چرا که تکرار زیادی از مکان های مختلف با چند سرور متفاوت نیاز است .
برای این کار یک کنترل label و یک کنترل button به صفحه اضافه می کنیم .
تگ HTML : <asp:Label ID="lblDownloadSpeed" runat="server" /> <asp:Button Text="Check Speed" runat="server" OnClick="CheckSpeed" />
name space های مورد نیاز برای این کار
در #C :
using System.Net; using System.Linq;
در VB.NET :
Imports System.Net
Imports System.Linq
به عنوان مثال اسکریپت JQuery گوگل را دانلود می کنیم . سایز فایل kb 261 است که ما می خواهیم از مرورگر ویندوز سرعت دانلود را با تقسیم اندازه فایل محاسبه زمان شروع دانلود و پایان دانلود محاسبه میشود .
اقدام بالا 5 بار تکرار میشود و نتیجه بعد از هر محاسبه در یک آرایه ذخیره میشود .در آخر میانگین این محاسبات در یک Label نمایش داده میشود .
نکته : هر چقدر فایل بزرگتر باشد میزان دقیق تری به دست می آورید .
کد #C :
protected void CheckSpeed(object sender, EventArgs e) { double[] speeds = new double[5]; for (int i = 0; i < 5; i++) { int jQueryFileSize = 261; //Size of File in KB. WebClient client = new WebClient(); DateTime startTime = DateTime.Now; client.DownloadFile("http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js", Server.MapPath("~/jQuery.js")); DateTime endTime = DateTime.Now; speeds[i] = Math.Round((jQueryFileSize / (endTime - startTime).TotalSeconds)); } lblDownloadSpeed.Text = string.Format("Download Speed: {0}KB/s", speeds.Average()); }
Vb.NET :
Protected Sub CheckSpeed(sender As Object, e As EventArgs) Dim speeds As Double() = New Double(4) {} For i As Integer = 0 To 4 Dim jQueryFileSize As Integer = 261 'Size of File in KB. Dim client As New WebClient() Dim startTime As DateTime = DateTime.Now client.DownloadFile("http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js", Server.MapPath("~/jQuery.js")) Dim endTime As DateTime = DateTime.Now speeds(i) = Math.Round((jQueryFileSize / (endTime - startTime).TotalSeconds)) Next lblDownloadSpeed.Text = String.Format("Download Speed: {0}KB/s", speeds.Average()) End Sub
در زیر تصویر محاسبه سرعت دانلود را میتوانید مشاهده کنید :
- ASP.net
- 3k بازدید
- 1 تشکر