Ana Sayfa > C#, Programlama > C# ile Ping Uygulaması

C# ile Ping Uygulaması

12 Ocak 2010

Windows komut satırından çağırabileceğiniz ping komutu ile kendi bilgisayarınızdan, networkünüzde bulunan diğer bilgisayarlara Ping atabilirsiniz.

Bazı durumlarda uygulamamıza ping yeteneği eklememiz gerekebilir. (Sunuculara erişilemediği anı yakalayıp, ilgili birimleri uyarmak gibi) Bu yazımda C# ile ping uygulaması yazacağız.

Hemen ekran görüntüsü ile başlayalım;

İlk başlangıç noktamız, MSDN’de şu sayfadan bilgilerine erişebileceğiniz Ping class’ı olacak. Ping class’ı, framework içerisinde System.Net.NetworkInformation namespace’i içerisinde yeralır.

private void btnPing_Click(object sender, EventArgs e)
{
	Ping p = new Ping();
	Timer t = new Timer() { Interval=1000 };
	t.Start();
	t.Tick += delegate(object _s, EventArgs _e) {
		PingReply pr = p.Send(txtAdres.Text);
		txtSonuc.Text += string.Format("Sonuç: {0}, {1} -> {2} ms.{3}", pr.Status.ToString(), pr.Address.ToString(), pr.RoundtripTime.ToString(), Environment.NewLine);
	};
}

Ping butonunun Click olayında, Ping ve Timer class’larından birer örnek oluşturuyoruz. Timer nesnesinin Tick olayında, Ping nesnesinin Send() method’unu çağırıyoruz, dönen sonucu PingReply sınıfında bir değişkene atıyoruz ve txtSonuc Textbox‘ında gösteriyoruz.

Uygulamanın kaynak kodlarını buradan indirebilirsiniz.


İlgili diğer başlıklar:



  1. chaki
    Mart 16th, 2011 at 20:10 | #1

    vb.net olarak verme şansınız varmı

  2. harun çimen
    Aralık 1st, 2011 at 22:17 | #2

    burda bilgisayar adı yerine ip’yi nasıl kullanabiliriz acaba?

  3. orhan
    Aralık 7th, 2011 at 11:28 | #3

    benim size bir sorum olucak program bir adresi pingleyemedi zaman kodsal bir hata veriyor.bunun içinde ayrı bir “başarısız” değerini veren kod nasıl yazılabilr.

  4. Ali Emrah PEKESEN
    Ocak 17th, 2012 at 01:28 | #4
    if (pr.Status != IPStatus.Success)
    {
    	cw("Ping İşlemi Başarısız Olmuştur..");
    }

    Bu sanırım istediğin işi çözer.

    Yada try catch blokları arasında exception throw edebilirsin.