C# İle Ping Gönderme
Windows komut ekranı(cmd) yardımı ile diğer bilgisayarlara ping atabiliriz. Bazı durumlarda Ping atma işlemini geliştirmiş olduğumuz programa da entegre etme ihtiyacımız olabilir. Uygulamamız sunucuya erişemediği zaman hataları loglasın veya yetkili kişiye bilgilendirme işlemi için mail göndersin gibi. Küçük bir örnek geliştirmek için yeni bir Windows Application uygulaması oluşturdum ve formuma bir adet textbox,button ve listbox ekledim.
[csharp]
//Ping sınıfından bir nesne türetiyorum.
Ping ping = new Ping();
private void btnPing_Click(object sender, EventArgs e)
{
//Zamanlama işlemlerim için Timer nesnesi tanımlıyorum.
Timer timer = new Timer();
//timer’in her 1sn ‘ye de çalışması için Interval değerini 1 tanımlıyorum.
timer.Interval = 1000;
//timer’i başlatıyorum.
timer.Start();
timer.Tick += timer_Tick;
}
void timer_Tick(object sender, EventArgs e)
{
//Belirlemiş olduğum Interval değerine göre buradaki kodlar çalışacaktır. (1 sn)
//PingReply klasına Ping sınıfımın Send metodundan dönen değeri gönderiyorum.
PingReply pr = ping.Send(txtAddress.Text);
//Ping sınıfından PingReplay sınıfına gelen yanıtları Listbox’uma aktarıyorum.
lstInfo.Items.Add(string.Format("{0}, {1} –> {2} ms.", pr.Status.ToString(), pr.Address.ToString(), pr.RoundtripTime.ToString()));
}
[/csharp]
hocam konu hakkında bir mail attım yanıt verirseniz sevinirim.
Dönüş yapılmıştır.
Ping ping = new Ping(); satırında using System.Net.NetworkInformation; tanımlamama rağmen hata verdi üstad
Merhaba,
Ping ping = new Ping(); satırını Form class’ının içinde kullanın. Hata mesajını yazsaydınız daha çok yardımcı olabilirdim. Size yardımcı olması açısından küçük bir kod hazırladım.
https://www.dropbox.com/s/4lqx79bik9y8wk6/WindowsFormsApp1.rar?dl=0
Buradan çalışan projeyi indirebilirsiniz.