問題: 分散型 CPU/GPU シミュレーター用のグラフィカル フロント エンドを開発しています。このシミュレーターは MPI を利用するため、ネットワーク上で使用されているすべてのコンピューターのホスト名を詳述するホストファイルが必要です。これにより、どのマシンに分散するかを認識できます。私のアプリケーションのエンド ユーザーはコンピューター サイエンティストではないため (また、コンピューターに詳しくない可能性もあります)、ネットワーク/クラスター上のすべてのコンピューターのホスト名を知っている/見つけられるとは期待できません。このホスト名の検出をプログラムで実行して、アプリケーションの起動時にユーザーが利用可能なマシンを確認し、それらから実行するホストを選択できるようにしたいと考えています。可能であれば、このソリューションをクロス プラットフォームにしたいと考えていますが、シミュレーターには現在 Linux の依存関係がいくつか含まれているため、Linux のみのソリューションで対処できます。
これまでに試したこと : nmap パッケージを利用してnmap -sP <ip address range>
、そのローカル ネットワークの IP アドレス範囲を使用するなどのコマンドを使用して、ネットワーク上のホストを検出しようとしました。ただし、(ホスト名ではなく) ホストの IP アドレスのみをダンプし、これらの IP アドレスを ssh ホスト名に変換する方法がわかりません(MPI はホスト検出に ssh を使用するため)。さらに、ブロードキャスト アドレスを提供する ping で同様のアプローチを使用したところ、ほぼ同じ結果が返されました。
この質問の広範な性質と示されたコードの欠如をお詫びしますが、私はネットワークの調査/プログラミングの経験があまりなく、どこから始めればよいかさえわかりません. これをグーグルで検索してみましたが、適切なオプションを見つけることができませんでした (おそらく、経験不足で不適切な用語を使用して不適切な結果を引き起こした可能性があります)。 .