無効な IP - 0.0.0.51 を渡すときに、SendAsync メソッドに問題があります。
問題は、Call back メソッド (pingSender_PingCompleted) が呼び出されないことです。私は今までに何のエラーも見ません。
IPAddress.TypeParse は、この IP を「有効な」IP として検出します。
これが私のコードです。ここにないものを教えてください。
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Program c = new Program();
try
{
c.PingStore("0.0.0.51");
Console.WriteLine("Pinged without exceptions");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
private void PingStore(string ipAddress)
{
Ping pingSender = new Ping();
pingSender.PingCompleted += new PingCompletedEventHandler(pingSender_PingCompleted);
pingSender.SendAsync(ipAddress, null);
}
private void pingSender_PingCompleted(object sender, PingCompletedEventArgs e)
{
Console.WriteLine("PingCompleted invoked. continue to be happy");
}
}
}
私はできないことに注意してください:
ipAddress を介して送信されるものをあらゆる種類で制御する
正規表現を使用してコードを複雑にする