Heim >Java >javaLernprogramm >Detailliertes Beispiel einer Java-Implementierung zur Überprüfung, ob der lokale Port mit Quellcode belegt ist

Detailliertes Beispiel einer Java-Implementierung zur Überprüfung, ob der lokale Port mit Quellcode belegt ist

黄舟
黄舟Original
2017-09-14 10:25:021880Durchsuche

Dieser Artikel stellt hauptsächlich die Hauptprinzipien von Java vor, um zu überprüfen, ob der lokale Port belegt ist, und gibt die Betriebsmethode anhand spezifischer Beispiele an. Freunde in Not können sich darauf beziehen

Denken Sie beim Schreiben von Programmen daran Vergangenheit, einmal muss ich den Belegungsstatus des Ports überprüfen. Obwohl ich nicht weiß, wie, tut es jemand. Also habe ich wie folgt online nach relevanten Artikeln gesucht.

127.0.0.1 stellt die lokale Maschine dar

Das Hauptprinzip ist:


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

Wenn die Host Wenn ein Socket mit einer bestimmten Portnummer eingerichtet werden kann, bedeutet dies, dass der Port des Hosts verwendet wird.


/**
 * @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; 
  } 
}

Die Ausgabeergebnisse lauten wie folgt:


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

Das obige ist der detaillierte Inhalt vonDetailliertes Beispiel einer Java-Implementierung zur Überprüfung, ob der lokale Port mit Quellcode belegt ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn