ServerSocket.setReuseAddress(boolean on) has the following syntax.
public void setReuseAddress(boolean on) throws SocketException
In the following code shows how to use ServerSocket.setReuseAddress(boolean on) method.
import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketTimeoutException; /* ww w. ja v a 2 s . co m*/ public class Main extends Thread { private ServerSocket serverSocket; public Main () throws IOException { serverSocket = new ServerSocket(8008); serverSocket.setSoTimeout(10000); serverSocket.setReuseAddress(true); } public void run() { while (true) { try { System.out.println("Waiting for client on port " + serverSocket.getLocalPort() + "..."); Socket client = serverSocket.accept(); System.out.println("Just connected to " + client.getRemoteSocketAddress()); client.close(); } catch (SocketTimeoutException s) { System.out.println("Socket timed out!"); break; } catch (IOException e) { e.printStackTrace(); break; } } } public static void main(String[] args) { try { Thread t = new Main (); t.start(); } catch (IOException e) { e.printStackTrace(); } } }
The code above generates the following result.