我有基于C#的客户端 - 服务器体系结构。客户端将连接到服务器并交换数据。连续检查服务器的状态
我需要连续检查服务器状态,如果服务器出现故障(从网络中删除或关闭),我需要指示客户端。
如何监控?
如果我在客户端程序中使用Ping
实用程序,这将成为性能方面最好的方法,即通过单独的线程或通过后台类进行监视?
public static bool GetPingResponse(string IpAddress, int timeout = 3000)
{
var ping = new Ping();
var reply = ping.Send(IpAddress, timeout);
if (reply.Status == IPStatus.Success)
{
return true;
}
else
{
return false;
}
}
在性能和消耗资源方面,还有没有比Ping更好的选择?
如何连接到服务器?你使用tcp吗? – Adil
是的tcp only ..但我需要检查服务器通电状态。不仅是tcp连接状态。 – Olivarsham
可能值得考虑您是否真的需要知道服务器硬件已启动,或者您是否需要知道服务器上的特定服务是否正在运行。 –