如何在页面加载时 ping 服务器
本文关键字:ping 服务器 加载 | 更新日期: 2023-09-27 18:32:42
我需要在页面打开时ping12个服务器ips。我试过这个(对于 1 个 ip):
public int sisup;
public void Page_Load(object sender, EventArgs e)
{
Ping p = new Ping();
PingReply r;
String s = "10.1.1.1";
r = p.Send(s);
Response.Buffer = false;
if (r.Status == IPStatus.Success)
{
sisup = 1;
}
else
{
sisup = 0;
}
}
并用sisup做点什么。它正在工作,但速度很慢。由于ping,页面加载需要几秒钟。如何在不加载页面的情况下执行此操作?我可以在页面加载后执行此操作吗?或者对ping有什么建议吗?我只需要服务器启动或关闭,并做点什么。
或者也许我可以设置 ping 响应时间。它是本地网络,响应时间仅为1-2毫秒。我想ping等待回复这么久。
您应该考虑使用 Parallel.For
.
Parallel.For(0, 12, i =>
{
// ping each server
});
这样,所有ping将并行运行,您的响应时间将减少10倍左右。
或者,您可以在页面加载后使用 jQuery 进行 ping 操作以进行 AJAX 调用。
$.ajax("PingServer.url")
.done(function() {
alert("success");
})
.fail(function() {
alert("error");
});
这需要多做一点工作,但这会效果最好。