C Sharp ile Ping Nasıl Atılır

27.09.2010
546
C Sharp ile Ping Nasıl Atılır

C# Ping Kodu

Herhangi bir siteye herhangi bir bilgisayara ping atma olayını c sharp ile nasıl yapacağımızı anlatacağım. Bu olay için c sharp’ta System.Net.NetworkInformation ve System.Net kütüphanesini kullanacağız. Bu kütüphaneler ile rahatlıkla istediğimiz bir siteye veya bilgisayara ping atabiliriz.

Btn_click eventında kullanacağımız kodlarımıza bakacak olursak, Projemize System.Net.NetworkInformation ve System.Net namespace’ni eklemeyi unutmuyoruz.

protected void Btn_Click(object sender, EventArgs e)

{ 
Ping p = new Ping(); PingReply sonuc = p.Send(Txtip.Text);

  if (sonuc.Status == IPStatus.Success)

  { 
    lblsonuc.Text += sonuc.Address.ToString() + "";

    lblsonuc.Text += sonuc.RoundtripTime.ToString() + "";

    lblsonuc.Text += sonuc.Options.Ttl.ToString() + ""; 
  }

  else if (sonuc.Status == IPStatus.TimedOut) 
  { 
    lblsonuc.Text = ("Time out."); 
  } 
}
C#

Bu sayede basit anlamda ping atma olayını çözmüş oluyoruz. Ben bunu sunucularımın online olup olmadığını kontrol etmek için kullanıyorum. Tabiki biraz değiştirdim. Sayfa her 5 saniyede bir “post-back” yani refresh olarak sunucularımız hakkında güncel bilgi almamı sağlıyor. Gayet başarılı bir şekilde çalıştı.

Daha geniş bir örnek olsun diye birde konsol uygulaması örneğini paylaşıcam:

using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;

namespace Examples.System.Net.NetworkInformation.PingTest
{
public class PingExample
{
// args[0] can be an IPaddress or host name.
public static void Main (string[] args)
{
Ping pingSender = new Ping ();
PingOptions options = new PingOptions ();

// Use the default Ttl value which is 128,
// but change the fragmentation behavior.
options.DontFragment = true;

// Create a buffer of 32 bytes of data to be transmitted.
string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
byte[] buffer = Encoding.ASCII.GetBytes (data);
int timeout = 120;
PingReply reply = pingSender.Send (args[0], timeout, buffer, options);
if (reply.Status == IPStatus.Success)
{
Console.WriteLine ("Address: {0}", reply.Address.ToString ());
Console.WriteLine ("RoundTrip time: {0}", reply.RoundtripTime);
Console.WriteLine ("Time to live: {0}", reply.Options.Ttl);
Console.WriteLine ("Don't fragment: {0}", reply.Options.DontFragment);
Console.WriteLine ("Buffer size: {0}", reply.Buffer.Length);
}
}
}
}
C#

ZİYARETÇİ YORUMLARI - 0 YORUM

Henüz yorum yapılmamış.

Bu web sitesi, bilgisayarınıza bilgi depolamak amacıyla bazı tanımlama bilgilerini kullanabilir.
Bu bilgilerin bir kısmı sitenin çalışmasında esas rolü üstlenirken bir kısmı ise kullanıcı deneyimlerinin iyileştirilmesine ve geliştirilmesine yardımcı olur.
Sitemize ilk girişinizde vermiş olduğunuz çerez onayı ile bu tanımlama bilgilerinin yerleştirilmesine izin vermiş olursunuz.
Çerez bilgilerinizi güncellemek için ekranın sol alt köşesinde bulunan mavi kurabiye logosuna tıklamanız yeterli. Kişisel Verilerin Korunması,
Gizlilik Politikası ve Çerez (Cookie) Kullanımı İlkeleri hakkında detaylı bilgi için KVKK&GDPR sayfamızı inceleyiniz.
| omersahin.com.tr |
Copyright | 2007-2025