26 Ocak 2014 Pazar

Asp.NET (C#) ping atma işlemi nasıl yapılır ?

1 comment
Bu yazıda Asp.NET'te ping atma işleminin nasıl gerçekleştirileceğini anlatacağım.

Ping; ağ üzerinde bulunan aygıtların erişilebilirliğini test etmek için Internet Control Message Protocol (ICMP) kullanan bir uygulamadır.

Bu işlemi Asp.NET'te gerçekleştirebilmek için aşağıdaki adımları izliyorum.

Öncelikle yeni bir Web Form oluşturuyorum.

Oluşturmuş olduğum formuma aşağıdaki gibi 1 textbox, 1 button ve 3 label ekliyorum.

Daha sonra butona çift tıklayarak C# kodlarımı yazacağım sayfaya gidiyorum ve System.Net.NetworkInformation sınıfını ekliyorum. Buttonumun click eventına aşağıdaki kodları yazıyorum.

        Ping _ping = new Ping();
        PingReply _cevap = _ping.Send(TextBox1.Text);

        if (_cevap.Status == IPStatus.Success)
        {
            Label1.Text = Label1.Text + " " + _cevap.Address.ToString();
            Label2.Text = Label2.Text + " " + _cevap.RoundtripTime.ToString();
            Label3.Text = Label3.Text + " " + _cevap.Options.Ttl.ToString();
        }

        else if (_cevap.Status == IPStatus.TimedOut)
        {
            Label1.Text = ("Sorgu zaman aşımına uğradı.");
        }

İlk satırda Ping sınıfından bir nesne türetiyorum. İkinci satırda textbox'a girilen değeri oluşturmuş olduğum nesne yardımıyla PingReply sınıfından ping cevabı olarak türetiyorum.

İf şartıyla cevabı kontrol ediyorum. Eğer IP adresine erişildiyse label'lara uygun değerleri ekliyorum. Eğer zaman dolarsa 1.label'a sorgu zaman aşımına uğradı yazdırıyorum.

Sayfayı çalıştırıp blogger.com yazdığımda aşağıdaki gibi bilgilere ulaşıyorum.



If You Enjoyed This, Take 5 Seconds To Share It

1 yorum:

ViolenTornado dedi ki...

Orada belirtilen TTL süresi maalesef sunucu vs açık kalma süresi değildir. Karşı taraftaki sizin ping başlattığınız bilgisayarın türünü belirtlir. Linux, cisco, windows 10, windows server vs. Bu TTL değeri ona göre belirtilmektedir.