在Java編程中,獲取IP和端口號是一項常見的任務。它有多種應用場景,比如創建網絡連接、監控網絡流量等等。下面我們將介紹使用Java編程語言獲取IP和端口號的方法。
// 獲取本機IP地址 InetAddress localIP = InetAddress.getLocalHost(); System.out.println("本機IP地址:" + localIP.getHostAddress()); // 獲取遠程IP地址和端口號 Socket socket = new Socket(); socket.connect(new InetSocketAddress("www.baidu.com", 80)); InetAddress remoteIP = socket.getInetAddress(); int remotePort = socket.getPort(); System.out.println("遠程IP地址:" + remoteIP.getHostAddress()); System.out.println("遠程端口號:" + remotePort);
在上面的代碼中,我們調用了InetAddress類和Socket類的一些方法來獲取IP和端口號。首先,使用InetAddress類的getLocalHost方法獲取本機IP地址。然后,使用Socket類的connect方法連接遠程主機,并使用getInetAddress和getPort方法獲取遠程主機的IP地址和端口號。
這些方法不僅適用于JavaSE平臺,也適用于JavaEE平臺。在JavaEE平臺中,我們可以使用ServletRequest對象和Socket對象獲取IP和端口號。
// 獲取請求IP地址和端口號 String remoteIP = request.getRemoteAddr(); int remotePort = request.getRemotePort(); System.out.println("請求IP地址:" + remoteIP); System.out.println("請求端口號:" + remotePort); // 獲取Socket IP地址和端口號 Socket socket = (Socket) request.getAttribute("javax.servlet.include.request_uri"); InetAddress remoteIP = socket.getInetAddress(); int remotePort = socket.getPort(); System.out.println("遠程IP地址:" + remoteIP.getHostAddress()); System.out.println("遠程端口號:" + remotePort);
在上面的代碼中,我們使用ServletRequest對象的getRemoteAddr和getRemotePort方法獲取請求的IP地址和端口號。另外,我們還使用了Socket對象的getInetAddress和getPort方法,它是通過ServletRequest對象的getAttribute方法獲得的。
通過上述幾種方法,我們可以方便地獲取IP和端口號,以便在進行網絡編程和監控時使用。