> ~~処理~~
ここがどうなっているのか分からないので、何とも言えないのですが、
単にBind、Connectするだけなら以下の通りです。
//ホスト名(xxxx)、ポート番号(yy)からアドレスを作る
InetAddress a = InetAddress.getByName("xxxx");
InetSocketAddress b = new InetSocketAddress(a, yy);
//ソケットを作る
Socket s = new Socket();
s.bind(b); //Bindの例
s.connect(b); //Connectの例
出来ました。
//ホスト名(xxxx1)、ポート番号(yy1)から自アドレスを作る
InetAddress a = InetAddress.getByName("xxxx1");
InetSocketAddress b = new InetSocketAddress(a, yy);
//ホスト名(xxxx2)、ポート番号(yy2)から接続先アドレスを作る
InetAddress c = InetAddress.getByName("xxxx");
InetSocketAddress d = new InetSocketAddress(c, yy2);
//ソケットを作る
Socket s = new Socket();
s.bind(b); //Bindの例
s.connect(d); //Connectの例
こういう事がしたかったのですが、
s.bind(b);のところで、bindの使い方を誤っていただけのようです。
ここで
InetSocketAddress d = new InetSocketAddress(c, yy2);
として作成したオブジェクトを使わないといけないというところが
わかっていませんでした。
ありがとうございました。
お礼
ありがとうございます。 この流れで考えている事が出来るか今試してみています。 結果を後ほどご報告します。 よろしくお願いします。
補足
出来ました。 //ホスト名(xxxx1)、ポート番号(yy1)から自アドレスを作る InetAddress a = InetAddress.getByName("xxxx1"); InetSocketAddress b = new InetSocketAddress(a, yy); //ホスト名(xxxx2)、ポート番号(yy2)から接続先アドレスを作る InetAddress c = InetAddress.getByName("xxxx"); InetSocketAddress d = new InetSocketAddress(c, yy2); //ソケットを作る Socket s = new Socket(); s.bind(b); //Bindの例 s.connect(d); //Connectの例 こういう事がしたかったのですが、 s.bind(b);のところで、bindの使い方を誤っていただけのようです。 ここで InetSocketAddress d = new InetSocketAddress(c, yy2); として作成したオブジェクトを使わないといけないというところが わかっていませんでした。 ありがとうございました。