تست سرعت دانلود اینترنت با استفاده دستورات #C و VB.Net در Asp.Net

یکشنبه 17 اسفند 1393

در این مقاله نحوه چک کردن سرعت دانلود با استفاده از دستورات #C و VB.Net در Asp.Net را شرح می دهیم .

تست سرعت دانلود اینترنت با استفاده دستورات #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

در زیر تصویر محاسبه سرعت دانلود را میتوانید مشاهده کنید :

 

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید