form da text içine yazılı olan ip ye ping atma

Başlatan isikyasar, 05 Ekim 2012, 15:22:22

isikyasar

form da text içine yazılı  olan ip ye ping atmayı ve durumu başarılı veya başarısız diye label de görmek istiyorum.

buna benzer çalışma yapan veya yardımcı olabilecek arkadaşlara şimdiden teşekkürler.

fatih6761


OG

FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

isikyasar

arkadaşlar verdiğiniz örnek biraz karışık denedim oluyor... sorun yok.
ama bu kadar karmaşık olmaması gerekiyor diye düşünüyorum.

fatih6761

Çok karışık değil aslında. Hazırcılık yapmayalım  :D
Olmazsa bu kodu bir sınıfa atın. Onuda kütphane olarak derleyin. İstediğiniz zaman uğraşmadan direkt kullanın. Biraz beklerseniz bunun için bir Dll yazmak aklımda. Kısa zamanda biter...

peko

Alıntı Yapusing System;
using System.Threading;
using System.Windows.Forms;
using System.Net.NetworkInformation;     

namespace ContextHelper
{     
   static class Pinger
   {         
      public static void Ping(string url_or_IP)
      {             
         using (Ping ping = new Ping())
         {                   
            try                 
            {
               Console.Write("{0}...", url_or_IP);
            
               PingReply reply = ping.Send(url_or_IP, 100);
                     
               if (reply.Status == IPStatus.Success)                     
               {                         
                  Console.WriteLine("Success - IP Address:{0}", reply.Address, reply.RoundtripTime);
               }
               else                     
               {                         
               Console.WriteLine(reply.Status);                     
               }                 
            }
            catch(Exception ex)
            {                     
               Console.WriteLine("Error ({0})",                         
               ex.InnerException.Message);                 
            }               
         }         
      }   
   }
}

Şimdilik işini görür sanırım hocam, görmüyorsa tam olarak ne istediğini belirtirsen sonuç odaklı yardımcı olmaya çalışırım.
" Bazıları zeka'sını iş'i zorlaştırmak için, bazıları ise kolaylaştırmak için kullanır.. "

fatih6761

@peko arkadaşıma ek olarak MSDN makalesinden şunu ekleyelim. Burada test verisini, boyutunu vs. belirleyebiliyoruz... Madem kısaltmak istiyoruz:
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);
            }
        }
    }
}

isikyasar