Maison > Java > javaDidacticiel > le corps du texte

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

黄舟
Libérer: 2017-09-14 10:25:02
original
1840 Les gens l'ont consulté

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代表端口号
Copier après la connexion

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; 
  } 
}
Copier après la connexion

Les résultats de sortie sont les suivants :


查看0
查看1
查看2
查看3
查看4
查看5
查看6
查看7
查看8
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal