C# のみを使用して、ネットワーク上のマシンがオンラインかどうかを確認する方法を知りたいです。
ネットワーク上のすべてのマシンが同じ OS (Windows 7) を使用しており、すべてのマシンで同じユーザーとしてログインしています。
私の目標は、それらがアクティブか開いているかを確認することです。
単純:
Ping ping = new Ping();
PingReply pingReply = ping.Send("ip address here");
if(pingReply.Status == IPStatus.Success)
{
//Machine is alive
}
ターゲット マシンにカスタム ソフトウェアをインストールせずに期待できる最善の方法は、Ping クラスを使用することです。
手っ取り早い実装は次のようになります。
var p = new Ping();
if(p.Send("HostNameOrIP").Status != Success) return;
「アクティブでオープンな」マシンとは何かについて非常に具体的な要件があり、その状態をローカルでしか検出できない場合は、WCF サービスを公開する Windows サービスを作成する必要があります。このサービスは、ターゲット コンピューターで実行され、ソース コンピューターから要求されたときにローカル ステータスを報告します。