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 + " ");
    }
    }
  • 相关阅读:
    stm32入门
    Shell入门
    广播与组播
    超时接收
    socket的四种IO模型
    网络套接字socket
    网络基础
    慢速系统调用被中断
    C# 程序运行时间计算
    HTTP的传输编码(Transfer-Encoding:chunked) / net::ERR_INVALID_CHUNKED_ENCODING
  • 原文地址:https://www.cnblogs.com/husband/p/14257893.html
Copyright © 2011-2022 走看看