Maison >Java >javaDidacticiel >Exemple détaillé d'implémentation Java pour vérifier si le port local est occupé par le code source

Exemple détaillé d'implémentation Java pour vérifier si le port local est occupé par le code source

黄舟
黄舟original
2017-09-14 10:25:021881parcourir

Cet article présente principalement les grands principes de Java pour vérifier si le port local est occupé, et donne la méthode de fonctionnement basée sur des exemples précis. Les amis dans le besoin peuvent s'y référer

À retenir lors de l'écriture de programmes dans le. passé , une fois que j'ai besoin de vérifier l'état d'occupation du port, même si je ne sais pas comment, quelqu'un le fait. J'ai donc recherché des articles pertinents en ligne, comme suit.

127.0.0.1 représente la machine locale

Le principe principal est :


Socket socket = new Socket(Address,port);#address代表主机的IP地址,port代表端口号

Si le hôte Si un socket peut être établi avec un numéro de port spécifique, cela signifie que le port de l'hôte est utilisé.


/**
 * @author MrBread
 * @date 2017年6月18日
 * @time 下午3:14:05
 * @project_name TestSocket
 * 功能:检测本机端口是否已经被使用用
 */
package com.mycode.www;
 import java.io.IOException; 
import java.net.InetAddress; 
import java.net.Socket; 
import java.net.UnknownHostException;  
public class Main { 
  //start--end是所要检测的端口范围
  static int start=0;
  static int end=1024;
  public static void main(String args[]){
    for(int i=start;i<=end;i++){
      System.out.println("查看"+i);
      if(isLocalPortUsing(i)){
        System.out.println("端口 "+i+" 已被使用");
      }
    }
  }
  /**
   * 测试本机端口是否被使用
   * @param port
   * @return
   */
  public static boolean isLocalPortUsing(int port){ 
    boolean flag = true; 
    try {
      //如果该端口还在使用则返回true,否则返回false,127.0.0.1代表本机
      flag = isPortUsing("127.0.0.1", port); 
    } catch (Exception e) { 
    } 
    return flag; 
  } 
  /*** 
   * 测试主机Host的port端口是否被使用
   * @param host 
   * @param port 
   * @throws UnknownHostException 
   */ 
  public static boolean isPortUsing(String host,int port) throws UnknownHostException{ 
    boolean flag = false; 
    InetAddress Address = InetAddress.getByName(host); 
    try { 
      Socket socket = new Socket(Address,port); //建立一个Socket连接
      flag = true; 
    } catch (IOException e) { 
    } 
    return flag; 
  } 
}

Les résultats de sortie sont les suivants :


查看0
查看1
查看2
查看3
查看4
查看5
查看6
查看7
查看8

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn