2009-08-15 4 views
13

私は後で指定するアドレスにpingを実行するアプリケーションが必要です。単に平均Ping Timeをラベルの.Textにコピーしてください。私のC#アプリケーションの内部に「ping」を作成する

助けが必要ですか?

EDITは:

Ping pingClass = new Ping();   
PingReply pingReply = pingClass.Send("logon.chronic-domination.com"); 
label4.Text = (pingReply.RoundtripTime.ToString() + "ms"); 
+3

が含まれています。あなたはそのように評判を得て、QAのフォーマットを一貫して保ちます。関連するMSDNのリンク:http://msdn.microsoft.com/en-us/library/system.net.networkinformation.pingreply.aspx –

答えて

32

NetworkInformation.Pingクラスを見て与えます

私は、誰もが興味を持っている場合の解決策を見つけました。

例:

使用法:

PingTimeAverage("stackoverflow.com", 4); 

実装:ちょうどこれに追記として

public static double PingTimeAverage(string host, int echoNum) 
{ 
    long totalTime = 0; 
    int timeout = 120; 
    Ping pingSender = new Ping(); 

    for (int i = 0; i < echoNum; i++) 
    { 
     PingReply reply = pingSender.Send (host, timeout); 
     if (reply.Status == IPStatus.Success) 
     { 
      totalTime += reply.RoundtripTime; 
     } 
    } 
    return totalTime/echoNum; 
} 
+0

あなたの答えをありがとう。すばらしく働いた。 :D –

+0

あなたは大歓迎です! – CMS

+0

PingTimeAverage( "i.dont.exist.com"、1000)== 0 –

0

。あなたが望むことについてsourceforgeがやっているプロジェクトは、すでにあります。また、これはあなたの答え、代わりに質問を更新する適切な答えとして、関連するMSDNのドキュメントへのリンクを追加ICMPの実装(RFC 792)

Sourceforge Project

関連する問題