ローカルコンピュータをJavaのゲートウェイとして機能させることは可能ですか?他のローカルマシンを自分のコンピューターに直接接続して、それらが稼働しているかどうかを確認する必要があります。
5 に答える
目的のPCでJavaサーバープログラムを実行し、ポートでリッスンさせることができます。次に、他のプログラム(ブラウザ、他のJavaプログラムなど)を使用してこのポートに接続し、Javaサーバープログラムによって実行されるコマンドを送信できます。
PCの電源がオンになっているかどうかを確認したいだけの場合は、ping
コマンドを使用します。または、この回答を参照してください:Windowsから真のJava pingを実行するにはどうすればよいですか?
これを試して。
あるポートでクライアントをリッスンし続けるJavaサーバーソケットを作成します。
サーバーに接続するJavaでクライアントを作成し、接続ロジックをtry-catchブロックでラップします。
ホストが稼働している場合、サーバーに接続するためのコードを含むtryコードが実行されます。この接続プロセスが失敗すると、UnknownHostExceptionが発生します。代わりに、接続が失敗したというメッセージを入力できます。
確かにそれは逆ですか?確かに、他のマシンに接続して、それらが稼働しているかどうかを確認したいですか?その場合はを参照してくださいInetAddress.isReachable()
。
中央サーバーから他のデバイスをポーリングすることで、これをより簡単に管理および制御できます。可能であれば、開発およびサポートリソースに負担をかけたり、クライアントワークステーションでRAMを使用したりする可能性のある不要なクライアント/エージェントアプリを避けてください。
すでにあなたが望むことをしている多くの監視ツールがあります。たとえば、 Nagiosを見てみます。
独自のアプリを開発したり、独自の簡単なトラブルシューティングを行ったり、ネットワーク検出ツールの感触をつかんだりする場合は、NMAPをご覧ください。たとえば、TCP:445に応答するものをサブネットで検索して、どのWindowsマシンが稼働しているかを確認できます。
Nmapルートを使用する場合は、SourceforgeのNmap4jをご覧ください。これは、JavaとNmapを統合するために必要な作業を簡素化するJavaラッパーAPIです。
乾杯!