zoukankan      html  css  js  c++  java
  • Java指定查看主机的端口是否已经使用

    package xuexi.Java.Two;
    import java.io.IOException;
    import java.net.InetSocketAddress;
    import java.net.Socket;
    import java.net.SocketAddress;
    import java.net.SocketTimeoutException;
    //指定查看主机的端口是否已经使用
    public class Main1 {
    public static void main(String[] args) {
    // 检测本地 80 端口
    log(isSocketAliveUitlitybyCrunchify("localhost", 80));

    // 检测本地 8080 端口
    log(isSocketAliveUitlitybyCrunchify("localhost", 8080));

    // 检测本地 8081 端口
    log(isSocketAliveUitlitybyCrunchify("localhost", 8081));

    // 检测 runoob.com 的 80 端口
    log(isSocketAliveUitlitybyCrunchify("runoob.com", 80));

    // 检测 runoob.com 的 443 端口
    log(isSocketAliveUitlitybyCrunchify("runoob.com", 443));

    // 检测 runoob.com 的 81 端口
    log(isSocketAliveUitlitybyCrunchify("runoob.com", 81));
    }

    /**
    * 判断主机端口
    *
    * @param hostName
    * @param port
    * @return boolean - true/false
    */
    public static boolean isSocketAliveUitlitybyCrunchify(String hostName, int port) {
    boolean isAlive = false;

    // 创建一个套接字
    SocketAddress socketAddress = new InetSocketAddress(hostName, port);
    Socket socket = new Socket();

    // 超时设置,单位毫秒
    int timeout = 2000;

    log("服务器: " + hostName + ", port: " + port);
    try {
    socket.connect(socketAddress, timeout);
    socket.close();
    isAlive = true;

    } catch (SocketTimeoutException exception) {
    System.out.println("SocketTimeoutException " + hostName + ":" + port + ". " + exception.getMessage());
    } catch (IOException exception) {
    System.out.println(
    "IOException - Unable to connect to " + hostName + ":" + port + ". " + exception.getMessage());
    }
    return isAlive;
    }

    private static void log(String string) {
    System.out.println(string);
    }

    private static void log(boolean isAlive) {
    System.out.println("是否真正在使用: " + isAlive + " ");
    }
    }
  • 相关阅读:
    使用openURL实现程序间带参数跳转详解
    [翻译] DFCircleActivityIndicator DF圆形活动状态指示器
    ABC定制视图导航控制器
    [翻译] UIView-draggable 可拖拽的UIView
    [翻译] SFRoundProgressCounterView 带有进度显示的倒计时视图
    [翻译] ColourClock 将时间值转换成背景色
    Solr部署如何启动
    搜索引擎基本工作原理
    面试题 IQ
    解释一下,在你往浏览器中输入一个URL后都发生了什么,要尽可能详细
  • 原文地址:https://www.cnblogs.com/husband/p/14257893.html
Copyright © 2011-2022 走看看