OS Blog

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

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

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 [highlight color=”red”]System.Net.NetworkInformation ve System.Net[/highlight] 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.

[box type=”shadow” align=”” class=”” width=””]

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.”); } }

[/box]

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:

[box type=”shadow” align=”” class=”” width=””]

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);
}
}
}
}

[/box]

No votes yet.
Please wait...
BİR YORUM YAZIN

ZİYARETÇİ YORUMLARI - 0 YORUM

Henüz yorum yapılmamış.

Bu web sitesi, bilgisayarınıza bilgi depolamak amacıyla bazı tanımlama bilgilerini kullanır.
Bu bilgilerin bir kısmı sitenin çalışmasında esas rolü üstlenirken bir kısmı ise kullanıcı deneyimlerinin iyileştirilmesine yardımcı olur.
Sitemizi kullanarak bu tanımlama bilgilerinin yerleştirilmesine izin vermiş olursunuz. 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-2019