Here you can find the source of getFreePort()
public static int getFreePort()
//package com.java2s; /******************************************************************************* * Copyright (c) 2000, 2015 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors://w w w .j a va 2 s . c o m * IBM Corporation - initial API and implementation *******************************************************************************/ import java.io.IOException; import java.net.ServerSocket; public class Main { /** * Returns the next available port number on the local host. */ public static int getFreePort() { ServerSocket socket = null; try { socket = new ServerSocket(0); return socket.getLocalPort(); } catch (IOException e) { // ignore } finally { if (socket != null) { try { socket.close(); } catch (IOException e) { // ignore } } } return -1; } }