JAVA判斷ip、端口是否可用


一、簡介

使用的是java自帶的Socket類進行檢測端口號是否可用,兩個代碼,一個是檢測的工具類,另一個是調用工具類傳遞相關的的參數;

請求的結果:(當前Ip可用,端口號不可用)
在這里插入圖片描述

二、檢測用的工具類

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;

public class Iputils {

    private static final Logger logger = LogManager.getLogger(WordSmsController.class);
  
    /** * 檢測Ip和端口是否可用 * * @param ip * @param port * @return */
    public static boolean checkIpPort(String ip, int port) {
        Socket socket = new Socket();
        try {
            socket.connect(new InetSocketAddress(ip,port),3000);
            logger.info("地址和端口號可用");
            return true;
        } catch (Exception e) {
            logger.info("地址和端口號不可用");
            return false;
        } finally {
            if (socket != null) {
                try {
                    socket.close();
                } catch (IOException e) {

                }
            }
        }

    }
    /** * 檢測Ip地址 * * @param ip * @return */
    public static boolean checkIp(String ip){
        try {
            InetAddress.getByName(ip).isReachable(3000);
            logger.info("Ip可以使用");
            return true;
        } catch (IOException e) {
            logger.info("Ip不可用");
            return false;
        }
    }

}

三、測試類

// 查看端口號是否可用
        String ip = "106.12.58.180";
        int port = 80;
        Iputils iputils = new Iputils();
// 檢測Ip是否可用
        boolean resultIp = iputils.checkIp(ip);
        System.out.print("檢測的Ip結果為:");
        System.out.println(resultIp);
// 檢測Ip和端口號是否可用
        boolean resultIpPort = iputils.checkIpPort(ip, port);
        System.out.print("檢測的Ip和端口結果為:");
        System.out.println(resultIpPort);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM