c# winform连续ping一个IP,就像CMD这个命令ping192.168.1.1 -t,求一个实例代码。
答案:1 悬赏:50 手机版
解决时间 2021-12-02 14:53
- 提问者网友:饥饿走向夜
- 2021-12-01 18:41
c# winform连续ping一个IP,就像CMD这个命令ping192.168.1.1 -t,求一个实例代码。
最佳答案
- 五星知识达人网友:人類模型
- 2021-12-01 18:50
象下面这样
Ping ping = null;
try
{
ping = new Ping();
var pingReply = ping.Send(address);
if (pingReply == null)
return false;
return pingReply.Status == IPStatus.Success;
}
finally
{
if (ping != null)
{
// 2.0 下ping 的一个bug,需要显示转型后释放
IDisposable disposable = ping;
disposable.Dispose();
ping.Dispose();
}
}追问我是要在winfform程序里实现,点击BTU按钮,然后在TEXTBOX写一个IP。然后listbox里面持续的ping那个ip追答大致象下面这样,稍微改一下就好了
// 从textbox 中取出地址
var address = "192.168.1.1";
// 可能的话,放到后台线程中去
while (true)
{
var pingReply = Ping(address);
DisplayPingReplyInfo(pingReply);
Thread.Sleep(1000);
}
private static void DisplayPingReplyInfo(PingReply pingReply)
{
// 把这个结果写到listbox中去
Console.WriteLine("来自 {0} 的回复:字节={1} 时间={2} TTL={3}", pingReply.Address, pingReply.Buffer.Length,
pingReply.RoundtripTime, pingReply.Options.Ttl);
}
private static PingReply Ping(string address)
{
Ping ping = null;
try
{
ping = new Ping();
return ping.Send(address);
}
finally
{
if (ping != null)
{
// 2.0 下ping 的一个bug,需要显示转型后释放
IDisposable disposable = ping;
disposable.Dispose();
ping.Dispose();
}
}
}追问这好像是控制台的,我要的是winform的。显示在winform里面。追答
Ping ping = null;
try
{
ping = new Ping();
var pingReply = ping.Send(address);
if (pingReply == null)
return false;
return pingReply.Status == IPStatus.Success;
}
finally
{
if (ping != null)
{
// 2.0 下ping 的一个bug,需要显示转型后释放
IDisposable disposable = ping;
disposable.Dispose();
ping.Dispose();
}
}追问我是要在winfform程序里实现,点击BTU按钮,然后在TEXTBOX写一个IP。然后listbox里面持续的ping那个ip追答大致象下面这样,稍微改一下就好了
// 从textbox 中取出地址
var address = "192.168.1.1";
// 可能的话,放到后台线程中去
while (true)
{
var pingReply = Ping(address);
DisplayPingReplyInfo(pingReply);
Thread.Sleep(1000);
}
private static void DisplayPingReplyInfo(PingReply pingReply)
{
// 把这个结果写到listbox中去
Console.WriteLine("来自 {0} 的回复:字节={1} 时间={2} TTL={3}", pingReply.Address, pingReply.Buffer.Length,
pingReply.RoundtripTime, pingReply.Options.Ttl);
}
private static PingReply Ping(string address)
{
Ping ping = null;
try
{
ping = new Ping();
return ping.Send(address);
}
finally
{
if (ping != null)
{
// 2.0 下ping 的一个bug,需要显示转型后释放
IDisposable disposable = ping;
disposable.Dispose();
ping.Dispose();
}
}
}追问这好像是控制台的,我要的是winform的。显示在winform里面。追答
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯