集册 Java实例教程 检查特定的套接字端口是否可用。

检查特定的套接字端口是否可用。

欢马劈雪     最近更新时间:2020-01-02 10:19:05

526
检查特定的套接字端口是否可用。

/* $Revision: 361 $ $Date: 2010-10-01 16:11:11 +0200 (Fr, 01 Okt 2010) $ $Author: bkiers $

 *

 * Copyright (C) 2007-2009  National Library of the Netherlands,

 *                          Nationaal Archief of the Netherlands,

 *                          Planets

 *                          KEEP

 *

 * This program is free software; you can redistribute it and/or

 * modify it under the terms of the GNU General Public License

 * as published by the Free Software Foundation; either version 2

 * of the License, or (at your option) any later version.

 *

 * This program is distributed in the hope that it will be useful,

 * but WITHOUT ANY WARRANTY; without even the implied warranty of

 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

 * GNU General Public License for more details.

 *

 * You should have received a copy of the GNU General Public License

 * along with this program; if not, write to the Free Software

 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,

 * MA  02110-1301, USA.

 *

 * For more information about this project, visit

 * http://dioscuri.sourceforge.net/

 * or contact us via email:

 *   jrvanderhoeven at users.sourceforge.net

 *   blohman at users.sourceforge.net

 *   bkiers at users.sourceforge.net

 *

 * Developed by:

 *   Nationaal Archief               <www.nationaalarchief.nl>

 *   Koninklijke Bibliotheek         <www.kb.nl>

 *   Tessella Support Services plc   <www.tessella.com>

 *   Planets                         <www.planets-project.eu>

 *   KEEP                            <www.keep-project.eu>

 *

 * Project Title: DIOSCURI

 *//*时 代      J a v a   公   众 号 - nowjava.com 提供*/

//package com.nowjava;

import java.io.IOException;

import java.net.DatagramSocket;


import java.net.ServerSocket;


public class Main {

    /**

     * Checks to see if a specific port is available.

     *

     * @param port the port to check for availability

     * Code from http://mina.apache.org/

     */

    public static boolean available(int port) {

        ServerSocket ss = null;

        DatagramSocket ds = null;

        try {

            ss = new ServerSocket(port);

            ss.setReuseAddress(true);

            ds = new DatagramSocket(port);

            ds.setReuseAddress(true);

            return true;

        } catch (IOException e) {/*from n  o  w  j  a  v  a . c o m*/

            /* falls through */

        
展开阅读全文