1. package com.movitech.product.datahub.util;
  2.  
  3. import org.slf4j.Logger;
  4. import org.slf4j.LoggerFactory;
  5.  
  6. import javax.management.MBeanServer;
  7. import javax.management.MalformedObjectNameException;
  8. import javax.management.ObjectName;
  9. import javax.management.Query;
  10. import java.lang.management.ManagementFactory;
  11. import java.net.InetAddress;
  12. import java.util.Set;
  13.  
  14. /**
  15. * @author Jay
  16. * @date 2019/06/10
  17. */
  18. public class CommonUtils {
  19.  
  20. private static final Logger logger = LoggerFactory.getLogger(CommonUtils.class);
  21.  
  22. public static void main(String[] args){
  23. System.out.println(getLocalIP());
  24. System.out.println(getLocalPort());
  25. }
  26.  
  27. /**
  28. * @return
  29. * @throws MalformedObjectNameException
  30. * 获取当前机器的端口号
  31. */
  32. public static String getLocalPort(){
  33.  
  34. MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();
  35. Set<ObjectName> objectNames = null;
  36. try {
  37. objectNames = beanServer.queryNames(new ObjectName("*:type=Connector,*"),
  38. Query.match(Query.attr("protocol"), Query.value("HTTP/1.1")));
  39. String port = objectNames.iterator().next().getKeyProperty("port");
  40. return port;
  41. } catch (MalformedObjectNameException e) {
  42. e.printStackTrace();
  43. }
  44. return null;
  45. }
  46.  
  47. /**
  48. * @return
  49. * 获取当前机器的IP
  50. */
  51. public static String getLocalIP() {
  52. InetAddress addr = null;
  53. try {
  54. addr = InetAddress.getLocalHost();
  55. } catch (Exception e) {
  56. e.printStackTrace();
  57. }
  58.  
  59. byte[] ipAddr = addr.getAddress();
  60. String ipAddrStr = "";
  61. for (int i = 0; i < ipAddr.length; i++) {
  62. if (i > 0) {
  63. ipAddrStr += ".";
  64. }
  65. ipAddrStr += ipAddr[i] & 0xFF;
  66. }
  67. return ipAddrStr;
  68. }
  69.  
  70. }

获取当前服务的IP和端口号的更多相关文章

  1. tcp协议 tcpip协议 http协议,IP,DNS,端口号

    每当看到HTTP协议,tcp/ip协议,TCP协议总是蒙圈:在这里先记录一下,方面自己查看 TCP协议:TCP(Transmission Control Protocol 传输控制协议)是一种面向连接 ...

  2. java正则表达式提取地址中的ip和端口号

    由于我需要用到java正则表达式提取地址中的ip和端口号,所以我就写了一个demo,测试一下,下面是demo public class Test0810_1 { public static void ...

  3. IIS网站建立好后如何更改绑定IP或端口号

    写在前面的话 我们利用IIS建立网站的时候,一般都是设定好网站名称和物理地址,直接下一步建立完成了.正常访问都没问题,但如果我们这时候想要更改访问的IP或者端口号,打开了很多设置项就是没找到设置的地方 ...

  4. nginx模块编程之获取客户ip及端口号

    ngx_request_t结构体中有一个connection定义,该定义指向一个ngx_connection_t的结构体: 结构体定义如下: struct ngx_connection_s { voi ...

  5. 配置Windows 2008 R2 防火墙允许远程访问SQL Server 2008 R2 更改端口 连接字符串 IP+逗号+端口号

      1.先修改 sql server 2008R2的端口号吧,1433经常成为别人入侵的端口,在sql server 配置管理器 -->sql server 网络配置-->MSSQLSER ...

  6. IP、端口号、MAC

    1.端口 端口是TCP/IP协议簇中,应用层进程与传输层协议实体间的通信接口.端口是操作系统可分配的一种资源:应用程序通过系统调用与某端口绑定后,传输层传给改端口的数据都被相应进程接收,相应进程发给传 ...

  7. 输入ip和端口号python脚本py文件

    1.利用.py文件进行打开URL,编辑以下文件代码保存文件为login.py: # _*_ coding: cp936 _*__all_ = ['ip','port','root_id']ip='10 ...

  8. 域名 ip地址 端口号

    域名默认指定一个ip地址 当用域名访问网站的时候 网站会默认给个端口号80 或者自己指定 其他的 例如数据库 也是会给端口号 例如mysql 3306 域名:80 是访问iis 网站域名:3306 是 ...

  9. JavaScript获取当前站点的域名和端口号

    获取域名(第一种方法): document.hostname 获取域名(第二种方法): document.domin 获取端口号: location.port 获取主机+端口号: location.h ...

随机推荐

  1. 连续子数组的最大乘积及连续子数组的最大和(Java)

    1. 子数组的最大和 输入一个整形数组,数组里有正数也有负数.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值.例如数组:arr[]={1, 2, 3, -2, ...

  2. iptables限制访问

    iptables限制访问 常用命令 # 查看规则 iptables -L INPUT --line-numbers # 开放指定的端口 iptables -A INPUT -p tcp --dport ...

  3. 【面试突击】- 2019年125条常见的java面试笔试题汇总(一)

    1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部 问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二 ...

  4. SqlDataSource控件超时的困惑

      想用最简单的SqlDataSource控件完成对一个记录数很多的表的查询操作,结果出现超时异常,找了些解决方法都不奏效,后来在www.codeproject.com查到高手也放弃了用控件的方法,于 ...

  5. Java 相等判断

    ==的判断机制是:根据两边的内存地址是否相同来判断. equals()是Object类的一个实例方法,判断机制和 == 完全一样. String类重写了equals()方法,是根据数据值来判断的. 总 ...

  6. Android笔记(七十六) 点菜DEMO

    一个朋友让看一下他的代码,一个点菜的功能,他和我一样,初学者,代码比我的都混乱,也是醉了,干脆想着自己写个demo给他看,原本想着听简单,半个小时应该就可以搞定,真正写的时候,画了3h+,汗颜... ...

  7. PHP编程实现阳历转换为阴历的方法

    php类: 2 /** 3 *PHP编程实现阳历转换为阴历的方法 4 *根据实际情况所需进行调用 5 * 6 / 7 10 <?php class Lunar { public $MIN_YEA ...

  8. Matplotlib:mpl_toolkits.mplot3d工具包

    简介 mpl_toolkits.mplot3d是Matplotlib里面专门用来画三维图的工具包,官方指南请点击此处<mplot3d tutorial> 使用 导入 使用from mpl_ ...

  9. Linux的rwx

  10. Product Oriented Recurrence(Codeforces Round #566 (Div. 2)E+矩阵快速幂+欧拉降幂)

    传送门 题目 \[ \begin{aligned} &f_n=c^{2*n-6}f_{n-1}f_{n-2}f_{n-3}&\\ \end{aligned} \] 思路 我们通过迭代发 ...