为了账号安全,请及时绑定邮箱和手机立即绑定

java根据ip判断网络连接情况(i除Java执行ping命令和InetAddress这两种方式)

java根据ip判断网络连接情况(i除Java执行ping命令和InetAddress这两种方式)

幕布斯7119047 2019-03-20 19:15:58
  因为ava执行ping命令和InetAddress这两种方式执行速度太慢了,有没有更好的解决方法???
查看完整描述

3 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

获得客户端真实IP地址的方法一:
public String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
}   
获得客户端真实IP地址的方法二:
public String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}


查看完整回答
反对 回复 2019-04-30
?
富国沪深

TA贡献1790条经验 获得超9个赞

ip一般都是路由等网络设备分配的,有ip不代表就一定能访问公网吧,还不如直接访问百度一下试试网络通不通呢,呵呵,直接获取http头就行了


查看完整回答
反对 回复 2019-04-30
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

opennms有个 jicmp组件,你可以试一下


查看完整回答
反对 回复 2019-04-30
  • 3 回答
  • 0 关注
  • 920 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信