mirror of
https://github.com/Hello-hao/Tbed.git
synced 2026-09-20 03:18:28 +00:00
57 lines
1.7 KiB
Java
57 lines
1.7 KiB
Java
package cn.hellohao.utils;
|
|
|
|
import javax.management.MBeanServer;
|
|
import javax.management.MalformedObjectNameException;
|
|
import javax.management.ObjectName;
|
|
import javax.management.Query;
|
|
import java.lang.management.ManagementFactory;
|
|
import java.net.InetAddress;
|
|
import java.util.Set;
|
|
|
|
|
|
public class IPPortUtil {
|
|
|
|
public static void main(String[] args)throws Exception {
|
|
Print.warning(IPPortUtil.getLocalIP());
|
|
Print.warning(IPPortUtil.getLocalPort());
|
|
}
|
|
/**
|
|
* @return
|
|
* @throws MalformedObjectNameException
|
|
* 获取当前机器的端口号
|
|
*/
|
|
public static String getLocalPort() {//throws MalformedObjectNameException
|
|
MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();
|
|
Set<ObjectName> objectNames = null;
|
|
try {
|
|
objectNames = beanServer.queryNames(new ObjectName("*:type=Connector,*"),
|
|
Query.match(Query.attr("protocol"), Query.value("HTTP/1.1")));
|
|
} catch (MalformedObjectNameException e) {
|
|
e.printStackTrace();
|
|
}
|
|
String port = objectNames.iterator().next().getKeyProperty("port");
|
|
return port;
|
|
}
|
|
|
|
/**
|
|
* @return
|
|
* 获取当前机器的IP
|
|
*/
|
|
public static String getLocalIP() {
|
|
InetAddress addr = null;
|
|
try {
|
|
addr = InetAddress.getLocalHost();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
byte[] ipAddr = addr.getAddress();
|
|
String ipAddrStr = "";
|
|
for (int i = 0; i < ipAddr.length; i++) {
|
|
if (i > 0) {
|
|
ipAddrStr += ".";
|
|
}
|
|
ipAddrStr += ipAddr[i] & 0xFF;
|
|
}
|
|
return ipAddrStr;
|
|
}
|
|
} |