Java查看本機端口是否被占用源碼
記得以前在寫程序的時候,有一次需要查看端口的被占用情況,雖然我不會,但是有人會。所以通過網(wǎng)上查找相關(guān)的文章,具體如下。
127.0.0.1代表本機
主要原理是:
Socket socket = new Socket(Address,port);#address代表主機的IP地址,port代表端口號
如果對該主機的特定端口號能建立一個socket,則說明該主機的該端口在使用。
/**
* @author MrBread
* @date 2017年6月18日
* @time 下午3:14:05
* @project_name TestSocket
* 功能:檢測本機端口是否已經(jīng)被使用用
*/
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;
}
}
輸出結(jié)果如下:
查看0 查看1 查看2 查看3 查看4 查看5 查看6 查看7 查看8
以上就是本文關(guān)于如何查看端口是否被占用的實例源碼,希望對大家有所幫助。
相關(guān)文章
elasticsearch啟動警告無法鎖定JVM內(nèi)存
今天小編就為大家分享一篇關(guān)于elasticsearch啟動警告無法鎖定JVM內(nèi)存,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
詳解SpringBoot開發(fā)案例之整合Dubbo分布式服務(wù)
這篇文章主要介紹了詳解SpringBoot開發(fā)案例之整合Dubbo分布式服務(wù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10
spring cloud feign不支持@RequestBody+ RequestMethod.GET報錯的解決方法
這篇文章主要介紹了spring cloud feign不支持@RequestBody+ RequestMethod.GET報錯的解決方法,需要的朋友可以參考下2018-01-01
Spring中的注解@Value("#{}")與@Value("${}")的區(qū)別
這篇文章主要介紹了Spring中的注解@Value(“#{}“)與@Value(“${}“)的區(qū)別到底是什么,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06
Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑
IDEA旗艦版可以直接創(chuàng)建Spring MVC項目,但創(chuàng)建后的項目并不是直接就可以運行,還需要進行一些配置。這篇文章主要介紹了Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩坑記 ,需要的朋友可以參考下2020-03-03
Spring?Boot如何在加載bean時優(yōu)先選擇我
這篇文章主要介紹了Spring?Boot如何在加載bean時優(yōu)先選擇我,在?Spring?Boot?應(yīng)用程序中,我們可以采取三種方式實現(xiàn)自己的?bean?優(yōu)先加載,本文通過實例代碼給大家詳細講解,需要的朋友可以參考下2023-03-03
Mybatis查找返回Map,List集合類型的數(shù)據(jù)方式
這篇文章主要介紹了Mybatis查找返回Map,List集合類型的數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
Java中EnumMap和EnumSet枚舉操作類的簡單使用詳解
這篇文章主要介紹了Java中EnumMap和EnumSet枚舉操作類的簡單使用詳解,EnumMap是Map接口的一種實現(xiàn),專門用于枚舉類型的鍵,所有枚舉的鍵必須來自同一個枚舉?EnumMap不允許鍵為空,允許值為空,需要的朋友可以參考下2023-11-11

