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

در این مقاله نحوه چک کردن سرعت دانلود با استفاده از دستورات #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

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

 

دانلود فایل های ضمیمه مخصوص اعضای سایت می باشد !
کاربر مهمان! جهت دانلود و استفاده از امکانات سایت لطفا وارد سایت شوید و یا ثبت نام کنید