Roundtriptime | Engin Polat\'ın Windows 8 , Windows Phone 8 ve C# içerikli programcılık sitesi

Arşiv

Etiketlenen yazılar roundtriptime

C# ile Ping Uygulaması

12 January 2010 7 yorum

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.