이 글에서는 로컬 포트가 점유되어 있는지 확인하기 위한 자바의 주요 원리를 주로 소개하고, 구체적인 예시를 바탕으로 동작 방법을 알려준다. 필요한 친구들은 참고하면 된다
프로그램을 작성할 때, 일단 포트를 확인해야 했습니다. 비록 나는 그것을 사용하는 방법을 모르지만 어떤 사람들은 그것을 사용합니다. 그래서 인터넷에서 관련 기사를 검색해 보니 다음과 같습니다.
127.0.0.1은 로컬 시스템을 나타냅니다
주요 원칙은 다음과 같습니다.
Socket socket = new Socket(Address,port);#address代表主机的IP地址,port代表端口号
호스트의 특정 포트 번호에 대해 소켓을 설정할 수 있으면 호스트의 포트가 사용 중이라는 의미입니다. .
/** * @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; } }
출력 결과는 다음과 같습니다.
查看0 查看1 查看2 查看3 查看4 查看5 查看6 查看7 查看8
위 내용은 로컬 포트가 점유되었는지 확인하는 Java 구현의 자세한 예 소스 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!