Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
熊鹏飞
/
xxljob220
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
75b5cceb
authored
Oct 23, 2018
by
youbeiwuhuan
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
InetAddress.getLocalHost()在复杂网络下是不可信的,所以优先遍历网卡来获取第一个可用的外网地址
parent
0492cebb
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
12 deletions
xxl-job-core/src/main/java/com/xxl/job/core/util/IpUtil.java
xxl-job-core/src/main/java/com/xxl/job/core/util/IpUtil.java
View file @
75b5cceb
package
com
.
xxl
.
job
.
core
.
util
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.net.Inet6Address
;
import
java.net.InetAddress
;
import
java.net.NetworkInterface
;
import
java.net.SocketException
;
import
java.net.UnknownHostException
;
import
java.util.ArrayList
;
import
java.util.Enumeration
;
import
java.util.regex.Pattern
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* get ip
* @author xuxueli 2016-5-22 11:38:05
...
...
@@ -42,15 +45,6 @@ public class IpUtil {
* @return
*/
private
static
InetAddress
getFirstValidAddress
()
{
InetAddress
localAddress
=
null
;
try
{
localAddress
=
InetAddress
.
getLocalHost
();
if
(
isValidAddress
(
localAddress
))
{
return
localAddress
;
}
}
catch
(
Throwable
e
)
{
logger
.
error
(
"Failed to retriving ip address, "
+
e
.
getMessage
(),
e
);
}
try
{
Enumeration
<
NetworkInterface
>
interfaces
=
NetworkInterface
.
getNetworkInterfaces
();
if
(
interfaces
!=
null
)
{
...
...
@@ -78,9 +72,22 @@ public class IpUtil {
}
catch
(
Throwable
e
)
{
logger
.
error
(
"Failed to retriving ip address, "
+
e
.
getMessage
(),
e
);
}
InetAddress
localAddress
=
null
;
try
{
localAddress
=
InetAddress
.
getLocalHost
();
if
(
isValidAddress
(
localAddress
))
{
return
localAddress
;
}
}
catch
(
Throwable
e
)
{
logger
.
error
(
"Failed to retriving ip address, "
+
e
.
getMessage
(),
e
);
}
logger
.
error
(
"Could not get local host ip address, will use 127.0.0.1 instead."
);
return
localAddress
;
}
/**
* get address
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment