私はそのような何かやりたい:Java:異なるIPでバインドされたソケットを再利用しますか?
public void myFun (String tIps [])
{
Socket s = new Socket();
s.connect (new InetSocketAddress (serverIp, 80), 1000);
for (int i = 0 ; i < tIps.length ; ++i)
{
// Rebind the socket with another Ip
s.bind (new InetSocketAddress (tIps [i], 0));
/*
* use the socket
*/
}
s.close()
}
をしかし、私はこのエラーを取得:「java.net.SocketExceptionが:既にバインドを」。 s.setReuseAddress(true)を使用しようとしましたが、何も変更しませんでした。 リクエストごとに新しいソケットを開くことを避けるための解決策はありますか?これは非常に長いですか?
ありがとうございます!
なぜこのようにソケットを再利用しようとしていますか?バッファに入っていても読み込まれていないデータがある場合は、そのデータで何が起きると思いますか?通常、接続ごとに新しいソケットを作成します。 –