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 よりも優れたオプションはありますか?