Java HTTP Port Find getFreePort(int pPort)

Here you can find the source of getFreePort(int pPort)

Description

Find a free port, starting from pport

License

Apache License

Parameter

Parameter Description
pPort starting port

Return

port not in use

Declaration

public static int getFreePort(int pPort) 

Method Source Code


//package com.java2s;
/*/* w ww .  j av a2 s  . co m*/
 * Copyright 2014 The British Library/SCAPE Project Consortium
 * Author: William Palmer (William.Palmer@bl.uk)
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 */

import java.io.IOException;
import java.net.ServerSocket;

public class Main {
    /**
     * Find a free port, starting from pport
     * @param pPort starting port
     * @return port not in use
     */
    public static int getFreePort(int pPort) {
        int port = 0;
        ServerSocket s = null;
        boolean found = false;
        while (!found) {
            try {
                s = new ServerSocket(pPort);
                if (s.isBound()) {
                    port = s.getLocalPort();
                    found = true;
                }
            } catch (IOException e) {
                pPort++;
            } finally {
                if (s != null) {
                    try {
                        s.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        }
        return port;
    }
}

Related

  1. getFreePort()
  2. getFreePort()
  3. getFreePort()
  4. getFreePort()
  5. getFreePort(int port)
  6. getFreePortNoSych()
  7. getFreePortNumber(int defaultPortNumber)
  8. getFreeServerPort(int port)
  9. getImportedXmlSchemaPath(String namespace, String portType, String operation)