2012-08-03 2 views
57

में पिंग का उपयोग करते समय जब मैं विंडोज़ के साथ रिमोट सिस्टम पिंग करता हूं तो कहता है कि कोई जवाब नहीं है, लेकिन जब मैं सी # के साथ पिंग करता हूं तो यह सफलता कहता है। विंडोज सही है, डिवाइस कनेक्ट नहीं है। विंडोज़ नहीं होने पर मेरा कोड सफलतापूर्वक पिंग करने में सक्षम क्यों है?सी #

Ping p1 = new Ping(); 
PingReply PR = p1.Send("192.168.2.18"); 
// check when the ping is not success 
while (!PR.Status.ToString().Equals("Success")) 
{ 
    Console.WriteLine(PR.Status.ToString()); 
    PR = p1.Send("192.168.2.18"); 
} 
// check after the ping is n success 
while (PR.Status.ToString().Equals("Success")) 
{ 
    Console.WriteLine(PR.Status.ToString()); 
    PR = p1.Send("192.168.2.18"); 
} 
+3

चेक बाहर निम्न उदाहरण इस पृष्ठ के तल पर तैनात आप पर MSDN लिंक http://msdn.microsoft जब क्लिक करें:

यहाँ मेरी कोड है .com/en-us/library/system.net.networkinformation.ping.aspx या http://stackoverflow.com/questions/1281176/making-a-ping-inside-of-my-c-sharp- अनुप्रयोग – MethodMan

+5

आपको PR.Status की तुलना IPStatus से करना चाहिए। uccess। स्ट्रिंग तुलना इस मामले में सही उपकरण नहीं है। –

+0

अपने पिंग करने के बाद, कुछ पिंगरप्ली गुणों के मूल्य क्या हैं, (जैसे 'पीआर। एड्रेस', 'पीआर। राउंडट्रिपटाइम', 'पीआर.रेप्ली.बफर। लम्बाई', और 'पीआर। ऑप्शन। टीटीएल')? क्या आप भी सुनिश्चित हैं कि आपके पास अपने कोड में सही आईपी पता है, न कि एक परीक्षण आईपी पता? –

उत्तर

127
using System.Net.NetworkInformation;  

public static bool PingHost(string nameOrAddress) 
{ 
    bool pingable = false; 
    Ping pinger = new Ping(); 
    try 
    { 
     PingReply reply = pinger.Send(nameOrAddress); 
     pingable = reply.Status == IPStatus.Success; 
    } 
    catch (PingException) 
    { 
     // Discard PingExceptions and return false; 
    } 
    return pingable; 
} 
15
using System.Net.NetworkInformation; 

    namespace PingTest1 
    { 
     public partial class Form1 : Form 
     { 
      public Form1() 
      { 
       InitializeComponent(); 
      } 

      private void button1_Click(object sender, EventArgs e) 
      { 
       Ping p = new Ping(); 
       PingReply r; 
       string s; 
       s = textBox1.Text; 
       r = p.Send(s); 

       if (r.Status == IPStatus.Success) 
       { 
        lblResult.Text = "Ping to " + s.ToString() + "[" + r.Address.ToString() + "]" + " Successful" 
         + " Response delay = " + r.RoundtripTime.ToString() + " ms" + "\n"; 
       } 
      } 

      private void textBox1_Validated(object sender, EventArgs e) 
      { 
       if (string.IsNullOrWhiteSpace(textBox1.Text) || textBox1.Text == "") 
       { 
        MessageBox.Show("Please use valid IP or web address!!"); 
       } 
      } 
     } 

    } 
+7

Kudos! – mattpm

-1
private void button26_Click(object sender, EventArgs e) 
{ 
    System.Diagnostics.ProcessStartInfo proc = new System.Diagnostics.ProcessStartInfo(); 
    proc.FileName = @"C:\windows\system32\cmd.exe"; 
    proc.Arguments = "/c ping -t " + tx1.Text + " "; 
    System.Diagnostics.Process.Start(proc); 
    tx1.Focus(); 
} 

private void button27_Click(object sender, EventArgs e) 
{ 
    System.Diagnostics.ProcessStartInfo proc = new System.Diagnostics.ProcessStartInfo(); 
    proc.FileName = @"C:\windows\system32\cmd.exe"; 
    proc.Arguments = "/c ping " + tx2.Text + " "; 
    System.Diagnostics.Process.Start(proc); 
    tx2.Focus(); 
}