JavaのSocketクラスを使用して、それぞれが相互に接続されている6つのクライアントのネットワークを作成しようとしています。
私はこれまでのところ適切なアイデアを持っていると思いますが、これを行う方法がよくわかりません。
基本的に、String配列に格納されているホスト名のリストがあります。使用する各マシンへのssh接続を開き、クライアントを1つずつ起動します。
最初のクライアントは、でホスト名を見つけ、InetAddress.getLocalHost().getHostName()
これをホスト名リストと比較して、NodeIDを計算します。
for(i = 0; i < hostNames.length; i++){
if(localHostName == hostNames[i]){
NodeID = i;
break;
}
...
ですから、これが私にとって難しい部分です。この時点で、でクライアントに接続しますhostNames[i]
。私の計画は、クライアントごとに接続ごとに異なるスレッドを用意することでした。これらのスレッドを作成するにはどうすればよいですか?事前にスレッド配列を設定し、この時点でスレッドを定義する必要がありますか?
Thread[] connections = new Thread[]();
...
//in for loop
connections[i] = new Thread(new ConnectionThread().start(hostNames[i]));
// ConnectionThread being a tentative name for a custom class
これは簡単なことのように思えますが、私はそれを考えすぎていますか?単純化しすぎていますか?